-1

重複の可能性:
preg_replace PHP で文字列の html 属性を " で囲む方法

二重引用符で囲まれた単語の前後にpreg_replace()あるすべての単語を変更するための使用方法< >=

$var="<myfootball figure=thin new=aux(comment); > this=Association football < name=football >"

$var="<myfootball figure="thin"  new="aux(comment);" >this=Association footballl<  name="football"  >"

これを行うための正規表現は何preg_replace()ですか?

4

2 に答える 2

3

(?<==)(\b\w+\b)(?!")(?=[^<]*>)と置き換えます"$1"

$var = preg_replace('/(?<==)(\b\w+\b)(?!")(?=[^<]*>)/', '"$1"', $var);

編集(OPのコメントと質問の更新に基づく)>>

(?<==)(\b\S+?)(?=[\s>])(?!")(?=[^<]*>)と置き換えます"$1"

$var = preg_replace('/(?<==)(\b\S+?)(?=[\s>])(?!")(?=[^<]*>)/', '"$1"', $var);
于 2012-11-10T19:34:26.197 に答える
1

これを正規表現2つにまとめた方が良いと思います。<最初の式はとの間のすべてに一致>し、2 番目の式は の後のテキストを引用します=

 $value = preg_replace_callback('|<(.*?)>|', function($matches) {
      // $matches[1] is now the text between < and >
      return '<'.preg_replace('|=(\w+)|', '="\\1"', $matches[1]).'>';
 }, $var);
于 2012-11-10T19:31:34.160 に答える