HTML文書で文字列(たとえば、単語foo)の最後の一致を置き換える必要があります。問題は、HTML文書の構造が常にランダムであることです。文字列の最後の一致のみをpreg_replaceに置き換えるにはどうすればよいですか?
私はpreg_replaceでこれを達成しようとしていますが、これまでは最初の試合だけを交換する方法を知っていますが、最後の試合を交換する方法は分かりません。
ありがとうございました。
HTML文書で文字列(たとえば、単語foo)の最後の一致を置き換える必要があります。問題は、HTML文書の構造が常にランダムであることです。文字列の最後の一致のみをpreg_replaceに置き換えるにはどうすればよいですか?
私はpreg_replaceでこれを達成しようとしていますが、これまでは最初の試合だけを交換する方法を知っていますが、最後の試合を交換する方法は分かりません。
ありがとうございました。
(?!...)
$str = 'text abcd text text efgh';
echo preg_replace('~text(?!.*text)~', 'bar', $str),"\n";
後の使用負の表情出力:
text abcd text bar efgh
パターンありがとう! –
例
<?php
$str = 'Some random text';
$str_Pattern = '/[^ ]*$/';
preg_match($str_Pattern, $str, $results);
print $results[0];
?>
例を示してくださいとも[HTMLを解析するために最高の方法]を参照してください。 (http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/35 77662#3577662) – Gordon
最後のマッチを置き換える方法が分かっていれば、単純に文字列を逆にして置き換えて、もう一度やり直すことができます;) –