쿼리 문자열을 구문 분석하려고하는데 내가 알아 내지 못하는 문제가 발생했습니다.php preg_match_all에서보다 작음 (<) 연산자로 문제가 발생했습니다.
< 또는>을 포함 할 수있는 문자열과 일치 시키려고 시도했지만 문자열에 <이 포함 된 경우에만 이상한 결과가 표시됩니다.
예 : 예상대로
<?php
$gt = 'wt>f';
preg_match_all("/([A-Za-z<>]+)/", $gt, $gtmatches);
?>
<pre><?php print_r($gtmatches); ?></pre>
결과 :
코드 :
Array
(
[0] => Array
(
[0] => wt>f
)
[1] => Array
(
[0] => wt>f
)
)
그러나 단순히 <으로> 것을 교체, 정말 이상한 출력을 제공
<?php
$lt = 'wt<f';
preg_match_all("/([A-Za-z<>]+)/", $lt, $ltmatches);
?>
<pre><?php print_r($ltmatches); ?></pre>
출력이 :
Array
(
[0] => Array
(
[0] => wt Array
(
[0] => wt
내가 PHP 5.6.24에서이를 테스트 한/10 IIS, 로컬 PHP 5.6.32에/아파치 2.4.29.
해결 덕분에 iainn 할 (빌어 먹을 너희들이 빨리!)
내 브라우저 소스를 찾고, 태그의 시작으로 <을 해석하고, 모든 것이 괜찮습니다.
그것은 나를 위해 일하고있다 : - https://eval.in/926067 및 https://eval.in/926069 –