0

少し紛らわしいタイトルで申し訳ありません<li></li>が、リンクである画像の周りにタグをラップしようとしています(したがって<a href="#"><img src="#" /></a>)preg replaceを使用して、次のコードを試しました:

preg_replace('/(<a [^>]+>)/','<li>\1</li>',$myVar );

しかし、これには奇妙な結果があります-誰かが私を正しい方向に向けることができますか? jQueryでできることは知っていますが、PHPソリューションの方がはるかに望ましいです。

4

2 に答える 2

1

これはそれを行うかもしれません:

preg_replace('/<a(.*)>(.*)<\\/a>/','<li><a$1>$2</a></li>',$myVar );
于 2013-01-27T23:21:51.577 に答える
1

@slugonamissionがコメントに書いたような正規表現を使用して html 文字列を解析するべきではないという事実にもかかわらず、ここに:

$str = preg_replace('~<a .*?>\s*<img .*?>\s*</a>~i','<li>$0</li>',$str);
于 2013-01-28T01:01:55.843 に答える