# Frage zu Zeichen zählen ?



## Nucleus (25. Juli 2002)

Hab ne Frage wie kann ich zb von einem wort die Anzahl von Zeichen zählen ?


----------



## F.o.G. (25. Juli 2002)

strlen($zeichenkette);

Ciao, F.o.G.


----------



## Dario Linsky (25. Juli 2002)

```
$zeichen = strlen($wort);
```


----------



## Nucleus (25. Juli 2002)

coolm thx


----------



## Tucker (10. Januar 2005)

Ist es auch irgendwie möglich aus einem String ein Wort über einer bestimmten Anzahl von Zeichen rauszufiltern und dann das Wort mit z.B. einem Bindestrich und Umbruch zu trennen?


----------



## Tim C. (10. Januar 2005)

Erst [phpf]explode[/phpf], dann in einer schleife ein strlen und joah, dann halt einfach machen.


----------



## Tucker (10. Januar 2005)

Also praktisch explode anhand des Leerzeichens als Trennzeichen?

Hab grad versufht was zu progen. Bis zur Bedingung gehts ja. Aber wie editiere ich ein Wort nach dem 10. Zeichen?


----------



## BobDerMeister (11. Januar 2005)

ich würde wordwrap() nehmen.


----------



## Tucker (11. Januar 2005)

Also, ich habe mal vesucht, die Sache umzusetzen. Allerdings lief dies kläglich schief. Ich zeug euch gleich das Script. Vorab muss ich sagen, dass diese Funktion dazu da sein soll, einen Umbruch und einen Bindestrich zu erzeugen, damit Wörter in einer Tabellenspalte nicht zu lang werden und somit das Design zerstört wird.

Hier das Script:

```
$woerter=explode(" ", $daten[1]);
$woerter_anzahl=count($woerter);
													
for ($wi = 0 ; $wi < $woerter_anzahl ; $wi++)
{
$zeichen = strlen($woerter[$wi]);
	if ($zeichen > 10)
	{
		$neu_wort[]= wordwrap($woerter[wi], 10, "-\n");
	}
	else
	{
		$neu_wort[] = $woerter[$wi];
	}
}
										
$thema=implode(" ", $neu_wort);
```

Irgendwie hat nun gar nichts mehr hin. Es kommt immer wieder dies  selbe Ausgabe, welche dazu auch noch falsch ist.


----------



## BobDerMeister (11. Januar 2005)

zum einen fehlt in deinem Script ein $, zum anderen hatte ich mehr an
	
	
	



```
$thema = wordwrap($daten[1], 70 /*je nach dem wie breit die Spalte sein soll*/, "-\n", 1);
```
 gedacht. Mit deinem Script wird jedes Wort das länger als 10 Zeichen ist Umgebrochen auch wenn es in der Mitte der Zeile steht.


----------



## Tucker (11. Januar 2005)

So funktioniert es:


```
$woerter=explode(" ", $daten[1]);
$woerter_anzahl=count($woerter);
													
$neu_wort="";
												
for ($wi = 0 ; $wi < $woerter_anzahl ; $wi++)
{
	$zeichen = strlen($woerter[$wi]);
			
	if ($zeichen > 10)
	{
		$neu_wort[]= wordwrap($woerter[$wi], 10, "-<br>", 1);
	}
	else
	{
		$neu_wort[] = $woerter[$wi];
	}
}
									
$thema=implode(" ", $neu_wort);
```

Dieses Script bewirkt z.B., dass das Wort Verdauungssystem in:
*Verdauungs-
system*
umgewandelt wird.


----------

