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
마지막 일치 항목을 바꾸는 방법을 알고 있다면 간단히 문자열을 뒤집어 교체하고 다시 반대로 할 수 있습니다.) –