0

正規表現で2つの単語間のスペースを削除したいのですが、うまくいかないようです。

$pattern = "#\<a href=\"(.+?) (.+?)\">#is";
$txt = preg_replace($pattern, "\<a href=\"\\1%20\\2\">", $txt);

また、これは複数の単語に対して機能する必要がありますが、残りのテキストにはスペースが必要なため、タグのみが必要です。したがって、str_replace は機能しません (と思いますか?)

任意のヒント?

4

3 に答える 3

1

安定した解決策は次のとおりです。DOM を使用して href 値を取得し、使用str_replace()してスペースを削除してから、DOM を使用して値を再度書き戻します。

html / xml の処理に正規表現を使用しないでください。

于 2013-10-03T11:31:14.237 に答える
0

空白を削除するには、この正規表現コードを試してください

\s+(?=[^()]*\

于 2013-10-03T11:31:41.770 に答える