작업은 문자열을 500 자로 배열로 배열하는 것입니다. str_split을 사용하여이 작업을 수행했지만 문제가 있습니다. 당연히 말로 말해야합니다. 그렇지 않으면이 텍스트를 읽을 수 없습니다. 그리고 그 이상. 이 텍스트는 링크와 함께 제공되며 링크를 끊으면 링크가 끊어집니다 (infact any html) =) 그래서 태그가 끝나거나 아직 시작하지 않은 경우에만 분할을 시작해야합니다 ... 같은 말도 사용됩니다. ± 100 문자는 문제가되지 않습니다.PHP : 단어와 태그로 정확한 문자열을 배열로 배열
나는 코드를 작성해 주셔서 감사합니다. 나는 정규 표현식에별로 좋지 않다.
편집 : 예
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec ac diam non nisl interdum tempus. Nam id ipsum id nunc tempus varius. Suspendisse ut neque a velit elementum placerat. Curabitur lobortis, lorem sit <a href="#">amet tincidunt ultricies,</a> eros ante feugiat dui, sit amet lacinia metus risus a magna. Duis velit dui, sollicitudin at aliquet et, elementum at dui. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
스크립트 :
<?php
$str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. <a href=\"http://example.com\">Phasellus condimentum
facilisis ipsum</a>, quis elementum urna ornare non. Cras nisi libero, dapibus sed euismod id, pharetra eu libero.
Maecenas mi nulla, ultrices in congue in, viverra ac massa. Quisque <br/>at turpis nulla. Suspendisse semper urna eu
augue aliquet dictum. Mauris at purus in lectus varius bibendum. <em>Fusce hendrerit <strong>posuere ante</strong></em>,
at pellentesque odio lobortis at. Integer quis urna eget ipsum dictum volutpat quis et leo. Etiam hendrerit eleifend
ornare. Phasellus eget justo elit.";
$str = str_split($str, 200);
var_dump($str);
출력 :
array(4) {
[0]=>
string(200) "Lorem ipsum dolor sit amet, consectetur adipiscing elit. <a href="http://example.com">Phasellus condimentum
facilisis ipsum</a>, quis elementum urna ornare non. Cras nisi libero, dapibus sed euismod "
[1]=>
string(200) "id, pharetra eu libero.
Maecenas mi nulla, ultrices in congue in, viverra ac massa. Quisque <br/>at turpis nulla. Suspendisse semper urna eu
augue aliquet dictum. Mauris at purus in lectus varius bi"
[2]=>
string(200) "bendum. <em>Fusce hendrerit <strong>posuere ante</strong></em>,
at pellentesque odio lobortis at. Integer quis urna eget ipsum dictum volutpat quis et leo. Etiam hendrerit eleifend
ornare. Phasellus"
[3]=>
string(17) " eget justo elit."
}
그것은 가혹한 문자 분할의, 단어의 절반은 $ str을 [에 온다 1]. 그리고 그것이 바로 그 장소의 링크라면, 그것은 손상 될 것입니다.
당신이 폭발 봤어 ("", $ 문자열) : 다음과 같은 코드가 아니라 당신이 원하는 것을 할 수있다? – Aston
나는 약간의 샘플 데이터를 정말로 고맙게 생각할 것이다. –
* 정말로 * HTML 태그를 그대로 유지해야합니까? –