TS: String in 180 Zeichen aufteilen und in Array packen. (Spezialfall Wörter)

Beitrag lesen

Hello,

Mein Problem ist nun, das ich zwar schön mit substr den Text schneiden kann, leider zerschneide ich so auch Wörter. Gibt es hierfür eine Lösung?

Und wenn Du nicht die passende "String"-funktion benutzt, dann zerschneidest Du auch Zeichen damit.

Hier zur Diskussion eine Funktion, die dir vielleicht schon mal einen Schritt weiter helfen könnte:

# Umbrüche steuern bei Multibyte-Kodierung

	<?php
	function utf8_wordwrap($string, $width=75, $break="\n", $cut=false)
	{
	  if($cut) {
		// Match anything 1 to $width chars long followed by whitespace or EOS,
		// otherwise match anything $width chars long
		$search = '/(.{1,'.$width.'})(?:\s|$)|(.{'.$width.'})/uS';
		$replace = '$1$2'.$break;
	  } else {
		// Anchor the beginning of the pattern with a lookahead
		// to avoid crazy backtracking when words are longer than $width
		$pattern = '/(?=\s)(.{1,'.$width.'})(?:\s|$)/uS';
		$replace = '$1'.$break;
	  }
	  return preg_replace($search, $replace, $string);
	}


#	Und selbstverständlich nicht vergessen, preg_quote zu benutzen für die $width und $break Parameter, wenn sie von außen kommen.  

?>

Liebe Grüße
Tom S.

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.