아래의 변수 값에 $widget_text
에서 대괄호 "["및 "]"를 제거하고 결과를 $widget_id
에 저장해야합니다.문자열에서 특정 문자를 제거하는 방법은 무엇입니까?
$widget_text = '[widget_and-some-text]';
$widget_id = ?;
사용 preg_replace
, str_replace
또는 뭔가 다른?
아래의 변수 값에 $widget_text
에서 대괄호 "["및 "]"를 제거하고 결과를 $widget_id
에 저장해야합니다.문자열에서 특정 문자를 제거하는 방법은 무엇입니까?
$widget_text = '[widget_and-some-text]';
$widget_id = ?;
사용 preg_replace
, str_replace
또는 뭔가 다른?
여러 가지 방법을 사용할 수 있으며 때로는 preg_replace/str_replace와 같은 동일한 작업을 수행 할 수 있습니다. 그러나 대괄호는 문자열의 시작 또는 끝에서만 제거하려는 경우가 있습니다. 이 경우 preg_replace가 작동합니다. 그러나 여러 대괄호가있을 수 있으면 preg_replace도 작업을 수행 할 수 있습니다. 그러나 손질은 더 쉽고 더 합리적입니다.
preg_replace이다()이 -이 텍스트의 아무 곳이나
$widget_id = str_replace(array('[',']'), '',$widget_text);
트림 (괄호를 제거) - -
$widget_id = preg_replace(array('/^\[/','/\]$/'), '',$widget_text);
않는 str_replace()를 시작하고 뒤에 괄호
제거합니다 브래킷을 트리밍 처음부터 끝까지$widget_id = trim($widget_text,'[]')
SUBSTR()는 -() 괄호는 첫 번째와 마지막 위치에 항상 경우
$widget_id = substr($widget_text,
$start = strspn($widget_text, '['),
strcspn($widget_text, ']') - $start
);
+1입니다. –
@ Scott B : np, 당신은 이미 알고 있다고 생각했습니다. _how_ str_replace를 사용합니다. –
예 :이 경우에는 트림 옵션이 실제로 좋을 수도 있습니다. 그것의 사소한 Col.로 나타내는 어느 쪽이든 의미합니다. –
$widget_id = str_replace('[', '', str_replace(']', '', $widget_text));
'$ widget_id = str_replace (배열 ('[', ']'), '', $ widget_text);'더 나은 –
@ 카를로스 : 감사합니다! 유용한 설명과 사용 사례 예제는 –
(텍스트 내의 닫는 괄호를 포함하지 않는 위젯 텍스트를 가정) 트림과 동일하지 않습니다, 이것을 사용 :
$widget_id = substr($widget_text, 1, strlen($widget_text)-2);
나는이 빠른 방법이라고 생각 ...
가장 빠른 방법 : $ widget_text = 'widget_and-some-text'; : P –
하지만 농담은 제쳐두고, 동등한 preg_replace (array ('/^\ [/', '/ \] $ /'), '', $ widget_text) –
미키 엘의 대답이 작업을 완료,하지만 당신은 문자열에 어떤 검증을하고자 할 얻을 것이다? –
@Col. S : 도움이되는 조언, 고맙습니다 .- –