나는 "와우! 놀라워."같은 텍스트가 있습니다. 나는이 텍스트를 "?" 또는 "." 연산자 및 array (example $ text [0])의 첫 번째 요소를 표시해야합니다.여러 문자열 중에서 텍스트에서 처음으로 나타나는 문자열을 찾는 방법은 무엇입니까?
$str="wow! it's, a nice product.";
$text= preg_split('/[!.]+/', $str);
여기에 "와우"값만있는 $ text [0]. 그러나 텍스트 ("!"또는 ".")에 관계없이 먼저 어떤 문자열이 발생했는지 알고 싶기 때문에 $ text [0]에 추가하고 "wow!"와 같이 표시합니다.
멋진 템플릿에서이 preg_split을 사용하고 싶습니다.
<p>{assign var="desc" value='/[!.]+/'|preg_split:'wow! it's, a nice product.'}
{$desc[0]}.</p>
위의 코드는 결과를 "와우"로 표시합니다. preg_match가 멋지게 나왔다. 지금까지 나는 수색했다. 다른 것은 현명하다. 나는 그것을 사용할 것이다. 도움이 될 것입니다. 사전에 감사합니다. 당신은 단지 다음 preg_split
를 사용해야하는 경우
$str="wow! it's, a nice product.";
if (preg_match('/^[^!.]+[!.]/', $str, $m))
$s = $m[0]; //=> wow!
당신이 할 수 있습니다 :
감사합니다. 완벽하게 작동합니다. 하지만이 "
{할당 var ="desc "값 = '/ [!.] + /'| preg_split : $ product.description_short} \t {$ desc [0]}.
" – Manik도움이되면 내 업데이트를 참조하십시오. 그렇지 않으면 주석에서 읽는 것이 어렵 기 때문에 문제의 코드를 게시하십시오. – anubhava