&
을 앰퍼샌드로 변환하려면이 PHP snippet을 사용해야합니다. Paul Dixon이 작성한 코드와 똑같은 테스트 코드를 사용하고 있지만 코드에서 앰퍼샌드가 대체되지 않습니다. 왜? 나는 PHP 5.2.6을 사용하고있다.왜이 앰퍼샌드와 일치하는 정규식이 작동하지 않습니까?
$str_fix = preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $str);
다음, 간단하지만 잘못된 정규 표현식 작업 (그것은 또한 &
&
에서 대체합니다)를 :
$str_fix = preg_replace('/&/', '&', $str);
편집 : 제기랄, 문제가 있지만, 드루팔 관련 정규 표현식/PHP하지 않습니다! 예, Drupal 모듈에서이 스 니펫을 사용하고 있으며 어떤 이유로 Drupal이 &
을 &
으로 변환합니다.
실패한'$ str'의 예제를 게시하면 나에게 잘 작동하는 것 같습니다. –
나는 그것을 말할 것이다 : 나를 위해 완벽하게 작동한다. 그리고 어떤 정규식 문제도 볼 수 없습니다. '$ str_fix '대신'$ str'을 검사 할 수 있습니까? – mario
이 질문에 대한 답변을 찾으셨습니까? – 23inhouse