-1
現在、正規表現を使用して、より大きなコンテンツ本体内にある&リンクテキストを自動的にキャプチャするよう試みています。私はこの罰金をある程度まですることができます。探しているテキストが既にリンク内にある場合、私の問題が発生します。HTML要素内にないテキストをキャプチャ/置換するPHP Regex
ここは私が持っている現在のコードである:
foreach($items as $item) {
if(!empty($item->generic_url)) {
$search = $item->title;
$url = $item->generic_url;
$content = preg_replace("/($search)/i", "<a href=\"$url\">$1</a>", $content, 1);
}
}
シナリオ(それは "リンク" の自動リンク最初に出現する必要があります):
$content = "This is some text that will link to another page";
シナリオB(それ"リンク"の最初の出現を自動リンクしないでください):
$content = "This is some text that will <a href='#'>link</a> to another page";
シナリオC(それは「リンク」の自動リンク最初に出現するべきではありません):
$content = "This is some text that <a href='#'>will link to</a> another page";
「/(\ blink \ b)(?![^ <] * <\/a)/ ' - https://regex101.com/r/FwAeIP/1 – splash58
ありがとうございました単語境界の考えsplash58。私は最終的な答えでそれを使い終わった。 – Andy