0

次の文字列を使用します。

$string='some text <photo id="id#" /> some text';

その文字列の末尾がの一部である場合に substr を作成します

<photo id="id#" />

次に、余分なチャンクを適用して完了します

"<photo id="id#" />"

例:

substr($string,0,15);

結果は次のとおりです。

some text <phot

これが発生した場合、次のようにする必要があります。

some text <photo id="id#" />

彼は、これを行う方法を見つけることができません。ちなみにid#は3文字以内のランダムな数値です。関数を考え出すために正規表現が必要な場合。

4

2 に答える 2

2

これを参照してください:-

出力:-

ここに画像の説明を入力

<?php

$str= 'some text <photo id="#xx"/> some test';
$parts = preg_split('~(</?[\w][^>]*>)~', $str, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
echo '<pre>';
print_r($parts);
echo htmlentities($parts[1]);


$str_new= 'some text <photo id="#xx"></photo> some test';
$parts_new = preg_split('~(</?[\w][^>]*>)~', $str_new, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY);
echo '<pre>';
print_r($parts_new);
echo htmlentities($parts_new[1]);
echo htmlentities($parts_new[2]);

?>
于 2012-08-29T07:32:36.447 に答える
0

正規表現を使用する必要はありません。PHP文字列関数を使用するだけです。

$string = 'some text <photo id="id#" /> some text';
$newString = substr($string, 0, strpos($string, '>') + 1);
于 2012-08-28T19:27:46.677 に答える