Ben çevirmek için Google'a metin parçalarını gönderir, ama bazen html kaynak kodu metin) bir html etiketinin ortasında bölme sona erecek ve Google yanlış kodu dönecektir bir senaryo yazdı.
Ben zaten bir diziye dize bölmek için nasıl biliyorum, ama çıkış dizesi 5000 karakteri aşmayacak ve bir etiketi üzerinde bölmek değil sağlarken bunu yapmak için daha iyi bir yolu var mı?
Cevaplamak için UPDATE: Teşekkürler, bu projemde kullanarak sona erdi kodu ve o inşaat büyük
function handleTextHtmlSplit($text, $maxSize) {
//our collection array
$niceHtml[] = '';
// Splits on tags, but also includes each tag as an item in the result
$pieces = preg_split('/(<[^>]*>)/', $text, -1, PREG_SPLIT_DELIM_CAPTURE);
//the current position of the index
$currentPiece = 0;
//start assembling a group until it gets to max size
foreach ($pieces as $piece) {
//make sure string length of this piece will not exceed max size when inserted
if (strlen($niceHtml[$currentPiece] . $piece) > $maxSize) {
//advance current piece
//will put overflow into next group
$currentPiece += 1;
//create empty string as value for next piece in the index
$niceHtml[$currentPiece] = '';
}
//insert piece into our master array
$niceHtml[$currentPiece] .= $piece;
}
//return array of nicely handled html
return $niceHtml;
}