$content = "信用,信用卡,信用值,<a href='index.php'>讲信用</a>,信用卡提现,信用卡申请,信用卡还款,招商银行信用卡,中国银行信用卡,建设银行信用卡,工商银行信用卡,农业银行信用卡,招商银行信用卡申请,中国银行信用卡申请,建设银行信用卡申请,工商银行信用卡申请,农业银行信用卡申请,招商银行信用卡还款,中国银行信用卡还款,建设银行信用卡还款,工商银行信用卡还款,农业银行信用卡还款,招商银行,中国银行,建设银行,工商银行,农业银行,等等里面词语的顺序不是固定的。";问题:需要如何才能把“ 信用  信用卡  信用卡申请  招商银行  招商银行信用卡申请  ”它们变成 “ <a href='index.php'>信用</a>  <a href='index.php'>信用卡</a>  <a href='index.php'>信用卡申请</a>  <a href='index.php'>招商银行</a>  <a href='index.php'>招商银行信用卡申请</a> ”???最后显示为:
$content = "<a href='index.php'>信用</a>,<a href='index.php'>信用卡</a>,信用值,<a href='index.php'>讲信用</a>,信用卡提现,<a href='index.php'>信用卡申请</a>,信用卡还款,招商银行信用卡,中国银行信用卡,建设银行信用卡,工商银行信用卡,农业银行信用卡,<a href='index.php'>招商银行信用卡申请</a>,中国银行信用卡申请,建设银行信用卡申请,工商银行信用卡申请,农业银行信用卡申请,招商银行信用卡还款,中国银行信用卡还款,建设银行信用卡还款,工商银行信用卡还款,农业银行信用卡还款,<a href='index.php'>招商银行</a>,中国银行,建设银行,工商银行,农业银行,等等里面词语的顺序不是固定的。";

解决方案 »

  1.   

    preg_replace (信用|信用卡|信用卡申请|招商银行|招商银行信用卡申请)
    with
    '<a href="index.php">\\1</a>'
      

  2.   

    $content = <<<STR
    信用,信用卡,信用值,<a href='index.php'>讲信用</a>,信用卡提现,信用卡申请,信用卡还款,
    招商银行信用卡,中国银行信用卡,建设银行信用卡,工商银行信用卡,农业银行信用卡,招商银行信用卡申请,
    中国银行信用卡申请,建设银行信用卡申请,工商银行信用卡申请,农业银行信用卡申请,招商银行信用卡还款,
    中国银行信用卡还款,建设银行信用卡还款,工商银行信用卡还款,农业银行信用卡还款,招商银行,中国银行,
    建设银行,工商银行,农业银行,等等里面词语的顺序不是固定的。
    STR;$reg = '/(?:<a.*?>[\x7f-\xff\w]*?)?(招商银行信用卡申请|招商银行|信用卡申请|信用卡|信用)(?:[\x7f-\xff\w]*?<\/a>)?/i';function call($matches)
    {
        return preg_match('/<a.*?>.*?<\/a>/i', $matches[0]) == true ? $matches[0] : "<a href='index.php'>$matches[0]</a>";
    }$rs = preg_replace_callback($reg, 'call', $content);
    echo htmlspecialchars($rs);
      

  3.   

    $content = <<<STR
    信用,信用卡,信用值,<a href='index.php'>讲信用</a>,信用卡提现,信用卡申请,信用卡还款,
    招商银行信用卡,中国银行信用卡,建设银行信用卡,工商银行信用卡,农业银行信用卡,招商银行信用卡申请,
    中国银行信用卡申请,建设银行信用卡申请,工商银行信用卡申请,农业银行信用卡申请,招商银行信用卡还款,
    中国银行信用卡还款,建设银行信用卡还款,工商银行信用卡还款,农业银行信用卡还款,招商银行,中国银行,
    建设银行,工商银行,农业银行,等等里面词语的顺序不是固定的。
    STR;$reg = '/(?:<a.*?>[\x7f-\xff\w]*?)?(招商银行(?:信用卡申请)?|信用(?:卡)?(?:申请)?)(?:[\x7f-\xff\w]*?<\/a>)?/i';function call($matches)
    {
        return preg_match('/<a.*?>.*?<\/a>/i', $matches[0]) == true ? $matches[0] : "<a href='index.php'>$matches[0]</a>";
    }$rs = preg_replace_callback($reg, 'call', $content);
    echo $rs;