정규 표현식을 사용하여 문자열을 검색하고 여러 값을 바꾸고 URL을 작성하려고합니다. 나는 처음부터 정규식을 사용한 적이 없다. 그래서 약간 갇혀있다.PHP Regex preg_replace 여러 값 사이에 괄호
문자열은 [평방 괄호] 안에 식별자로 포함됩니다. 여러 접근법을 시도했습니다 - 정규식이나 preg_replace 메서드를 여러 정규식 줄을 사용하지 않고 여러 번 대체 할 수 있도록 구조화하는 방법을 이해하지 못합니다. 그러나이 방법은 제가 시도하는 방향입니다.
$string= '[mycode="gallery" type="single" id="1" data="only"]'; //INPUT
$string = preg_replace('/\mycode="(.*)"\]/', '$1/mycode"', $string);
$string = preg_replace('/\type="(.*)"\]/', 'mycode_$1.php', $string);
$string = preg_replace('/\id="(.*)"\]/', '?id=$1', $string);
$string = preg_replace('/\data="(.*)"\]/', '&data=$1', $string);
궁극적으로 출력
:
갤러리/_mycode_single.php ID = 1 개 & 데이터 =에만 나는 이것이 내가하지 않는 현재대로 작동하지 않는 것을 알고
합니다 ([]도 제거와 함께)? 여러 줄의 출력을 컴파일하는 방법을 알고 있어야한다. 어떤 도움을 주시면 감사하겠습니다. 감사!
죄송합니다, 예 -] 나는 이전의 노력으로 남겨진 부분에 오타가 있다고 생각합니다. 전에 preg_replace_callback을 사용하지 않았습니다 - 자세히 설명해 주시겠습니까? 나는 당신이 그 것을 사용하여 다른 것을하기 전에 [] 괄호의 내용을 가져 오는 것을 의미한다고 가정하니? – WWD
아래에서 제공 한 대답을 사용하여 작업하십시오. 다시 감사합니다. – WWD