1

すべてのhtmlコードを空のスペースに置き換えたいです。preg_replace関数を使用する必要があると思いますが、html コードが次のようになっている場合にどうすればよいかわかりません。

”
β

$text="β something ” test..."

$text=preg_replace("&# [what should be here?] ;", " ", $text);

echo $text;
result =  something  test...

ここでは数値のみを見つけたので、数値のみにする必要があると思います:http://www.ascii.cl/htmlcodes.htm

4

4 に答える 4

3

まさにそれを行うstrip_tagsを見ることができます。ただし、これらは HTML コードではなく、HTML エンティティと呼ばれます。

必要なものに一致する正規表現は次のようになります。

(&#.+?;)

&#それはかなり単純で、まで繰り返される文字を探します;

編集: Qtax が指摘したように、数字である必要はありません。ドットはすべてに一致します。

于 2012-06-19T08:25:19.370 に答える
2

HTML 文字参照は、2 つの方法で定義できます。数値文字参照のみを置き換えたいと仮定すると、これらの形式を解析する正規表現が必要になります。

  • &#D;ここで、D は 10 進数です
  • &#xH;ここで、H は 16 進数です

両方を処理する正規表現:

/&#(\d+|x[\da-f]+);/i
于 2012-06-19T08:41:04.090 に答える
0

すべての HTML エンティティを置き換えたい場合は&foo;、次のようなものを使用できます。

preg_replace('/&(?:[a-z]+|#x[\da-f]+|#\d+);/i', ' ', $text);

それらをデコードしたい場合は、 を使用してhtml_entity_decodeください。

于 2012-06-19T08:25:02.917 に答える
0

&<something>;HTML エンティティの構文です。それらすべてを置き換えたい場合は、次の正規表現を使用します。

preg_replace('/&.*?;/', '', $subject); // from ampersand till the next semicolon

&auml;などのすべての HTML エンティティを空の文字列に置き換えます&x20;

于 2012-06-19T08:38:03.267 に答える