preg_match

HammerHe@rt

Erfahrenes Mitglied
hab nen string der wenn wo länger als 1500 zeichen geteilt werden soll...den ersten teil bekomme ich ja schon...aber wie bekomm ich den rest in eine variable....

PHP:
if (strlen($r[data])>=1500) {	
preg_match("/^(.{0,600}\S+)/s",$r[data],$reg);
$ntext = $reg[1];
$ctext = $reg[2];
}


muss bestimmt was im preg_match noch "getan" werden oder? um das $ctext=$reg[2] zu "füllen"

mfG
Hammerhe@rt
 
öhm...
preg_match() sucht eigentlich nur einen string in der variable $r[data], aber trennt diesen nicht.
wenn du den text der grössers als 1500 zeichen ist, in eine neue variable haben willst nimmst du am besten
substr()

mfg
 
danke habs schon
das problem war das ich nur ganze wörter haben will...

so hab ichs jetzt und es geht

PHP:
preg_match("/^(.{0,600}\S+)(.*?)$/s",$r[data],$reg);
 
ist ein wennig unübersichtlich meinste nicht auch?

hab hier mal eine Funktion gebastelt die verständlich für Anfänger ist

PHP:
<?
/************************************************************
Vorhandene Funktionen:
-------------------------------
getCutedText($text,$maxLength);
getCutedText($text,$maxLength,$endString);
************************************************************/

/************************************************************
Erklärung der funktionen:
-------------------------
getCutedText($text,$maxLength)
	liefert einen String zurück der bis Count geht falls das
	Wort länger sein sollte als Count wird es noch angefügt
	$text="hallo wie gehts"; echo getCutedText($text,11);
	würde 'hallo wie gehts' zurückliefern
--------------------------
getCutedText($text,$maxLength,$endString)
	wie getCutedText($text,$maxLength) nur mit Variablen ende
	$text="hallo wie gehts"; echo getCutedText($text,11,"...");
	würde 'hallo wie gehts' zurückliefern plus ...
-------------------------
************************************************************/

function getCutedText(){
	if(func_num_args() < 2){
		return " NOT ENOUGH ARGUMENTS IN FUNCTION ";
	}
	if(func_num_args() > 3){
		return " TO MANY ARGUMENTS IN FUNCTION ";
	}
	$text = func_get_arg(0);
	$maxLength = func_get_arg(1);

	if($text == null || strlen($text) == 0){
		return "";
	}
	if(strlen($text) <= $maxLength){
		return $text;
	}
	$end = strpos($text," ",$maxLength);
	$output =  substr($text,0,$end);
	
	if(func_num_args() == 3){
		return $output.func_get_arg(2);
	}
	return $output;
}
?>
 
Zuletzt bearbeitet:
sorry es geht mir aber nicht um die übersichtlichkeit für anfänger sondern um die funktionalität...und wenn mir eine so mächtige Funktion das bietet dann nutze ich das auch und schreibe nicht erst 20 Zeilen code

me2cents

mfG
Hammerhe@rt
 
ich finde man sollte trotzdem eine bestimme übersichtlichkeit bewahren.

z.b. nach if einrücken.

PHP:
if( 1 == 1 )
{
   //mach das
}
else
{
   //mach dies
}

ist imo auch für sich selber besser...

mfg
 
Zurück