스피 preg_replace이다를 사용하여 내 html로 sidewide에 앰퍼샌드를 교체하려고하지만, 문제는이 인라인을 파괴한다는 것입니다 자바 스크립트 & & 또는 자바 스크립트 URL을 같은? 페이지 = 시험 & ID = 1PHP는 preg_replace이다 정규식 내다
지금이가 작동하는 코드
$amp_replace = array();
$amp_replace[0] = '/(?<=\s)&(?!&)(?!#?[a-z0-9]+;)/';
$amp_replace[1] = '/(?<!&)&(?=\s)/';
$skin = preg_replace($amp_replace, '&', $skin);
왼쪽 또는 오른쪽 공백이 있으면 앰퍼샌드를 대체합니다. 행 2 (자바 스크립트의 경우) 또는 HTML 엔터티를 따르는 경우 대체하지 마십시오.
하지만 여기에서는 다소 불필요한 논리를 발견했습니다. 또한 같은 테스트 인 경우 & 테스트 인 경우 앰퍼샌드를 대체하지 않습니다.
iam이 정규 표현식 전문가가 아니기 때문에 이것은 꽤 오래되었습니다. 그래서 나는 여기서 다시 도움을 요청할 것이라고 생각했습니다.
javascript 스크립트 태그가 아닌 경우 모든 앰퍼샌드를 바꾸는 것이 좋지 않습니까? 나는 allready 그러나 진짜 성공을 시도했다
아무도 내가 그것을 보관할 수있는 방법을 알고 있습니까? 감사합니다 같은 간단하지 뭔가 이유
어떻게 이러한'및'처음에 거기에 도착 않았다 샘플 작업을? 오히려 그 문제를 고쳐야하지 않습니까? –
사용자가 제출 한 콘텐츠. 앰퍼샌드 출력을 수정하기 위해 각 PHP 파일을 작성하여 문제를 해결할 수 있음을 알고 있습니다. 하지만이 특별한 경우에는 그럴 필요가 없습니다. 내 pp 코딩이 충분히 커지면이 문제에 대한 하나의 글로벌 선언문을 원합니다. 내 HTML을 모두 살펴보고 스크립트 태그 내에서 바꿀 수 없다면 – Basti