2011-10-17 3 views
5

HTML文書で文字列(たとえば、単語foo)の最後の一致を置き換える必要があります。問題は、HTML文書の構造が常にランダムであることです。文字列の最後の一致のみをpreg_replaceに置き換えるにはどうすればよいですか?

私はpreg_replaceでこれを達成しようとしていますが、これまでは最初の試合だけを交換する方法を知っていますが、最後の試合を交換する方法は分かりません。

ありがとうございました。

+1

例を示してくださいとも[HTMLを解析するために最高の方法]を参照してください。 (http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/35 77662#3577662) – Gordon

+1

最後のマッチを置き換える方法が分かっていれば、単純に文字列を逆にして置き換えて、もう一度やり直すことができます;) –

答えて

16

(?!...)

$str = 'text abcd text text efgh'; 
echo preg_replace('~text(?!.*text)~', 'bar', $str),"\n"; 

後の使用負の表情出力:

text abcd text bar efgh 
+0

パターンありがとう! –

0

<?php 

$str = 'Some random text'; 
$str_Pattern = '/[^ ]*$/'; 

preg_match($str_Pattern, $str, $results); 

print $results[0]; 

?> 
関連する問題