정규 표현식에 관해서는 자신감이 거의 없습니다. 이것을 PHP 코드로 작성합니다.
이 형식을 따르는 문자열을 걸러낼 수 있어야 합니다. 여기서 숫자는 4~6자리(숫자만 가능)일 수 있습니다.
$input = "This is my string with a weird ID added cause I'm a weirdo! (id:11223)";
공백의 마지막 위치를 찾아 마지막 단어를 간단히 제거한 다음 strrpos();
(JSON 피드에서 후행 공백이 없는 것으로 나타남) substr();
이를 사용 하여 잘라낼 수 있습니다. 그러나 더 우아한 방법은 부분 문자열이 될 것이라고 생각합니다. 의도한 출력은 다음과 같습니다.
$output = trim(preg_replace('[regex]', $input));
// $output = "This is my string with a weird ID added cause I'm a weirdo!"
따라서 이 정규식은 대괄호, id: 부분 및 다음과 같은 연속 숫자와 일치해야 합니다.
(id:33585)
(id:1282)
(id:9845672)
preg_replace()
함수 를 사용하여 데이터 피드에서 제거하려고 합니다. 설명 문자열에 ID를 포함하기로 결정한 이유는 묻지 마세요... JSON 피드에서 별도의 열이 아닌 이유가 너무 마음에 듭니다.
다음 패턴을 사용해 보세요 \(id:\d+\)
.
$input = "Text goes here (id:11223) and also here (id:33585) blah blah";
echo $input . "\n";
$output = preg_replace("/\(id:\d+\)/", "", $input);
echo $output;
다음을 인쇄합니다.
Text goes here (id:11223) and also here (id:33585) blah blah
Text goes here and also here blah blah
교체 후 남겨진 가능한 (원치 않는) 추출 공백에서 볼 수 있는 엣지 케이스가 있습니다. 우리는 정교해져서 그것을 제거하려고 할 수도 있지만, 예상한 출력이 무엇인지 명시해야 합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다