bRäuchte mal dringend 2 einweisungen!

DoppelX

Mitglied
Wie schon gesagt... Ich brauche 2 Einweisungen.
1. in Preg (glaub ich ist der nachfolger von ereg() )
2. Wie ich z.b. wenn in einem text ein ";)" ist er den in smile.gif austauscht. oder ein wort dann Fett schreibt.
Glaub das ist strlen_replace oder auch nicht :) *mich selber hau*

Wäre echt cool von euch!

-----------
Cu euer DoppelX
Was ist wenn jeder ne HP hat ;) ...
Dann sind webdeisgner nicht mehr erforderlich! :)
-----------
S-DESIGN
 
zu 2.:
Die Funktion heißt str_replace und würde in deinem Fall folgenderweise aufgerufen werden:
PHP:
<?
  $string = str_replace(";)", "<img src=\"smilie.gif\">", $string);
?>

Ein Wort fett schreiben ist schon ein bisschen komplizierter. Da müsste man schon mit RegEx's ran:
PHP:
<?
  $string = eregi_replace("(\\[f\\])(.*)(\\[/f\\])", "<b>\\\\2</b>", $string);
?>

PS: Ich musste f statt b benutzen, um der automatischen Formatierung des Forums zu entgehen ;)
 
Zuletzt bearbeitet:
DU Lordy mit URL würde ich das farnicht so machen...
Mit URL musst du das so machen, das die Variable bsp. "$wort"
einfach nen andren namen bekommt.

So ungefähr.

$wort = "<a href="dieurl">" . $wort . "</a>";

Korrigiert wenn es ´Falsch ist.

SO nun zum preg und RegEx.
Die Hilfe von euch war total nett nur genau wissen wie es geht weiss ich immer noch nicht. Denn die site mit erklärungen ist nicht wirklich gut erklärt.
Sollte noch jemand einen link haben dann wäre es cool wenn ihr ihn postet.

Dann wollte ich noch wissen kann ich das mit dem fett schreiben nicht mit str_replace machen? SO ungefähr:

<?php
$string = str_replace($variable, "<b>".$variable."</b>", $string);
?>

Thx DoppelX!
 
Zuletzt bearbeitet:
shit

mir ist gerade aufgefallen dass ich das mit str_replace nicht machen kann...

Denn meine variable in der der string ist, ist ein ARRAY!!!

Was mach ich da nun?
 
Dann machst due eben ne foreach - Schleife, in der du jedes Element des Arrays durchgehst und dann darauf deine Ersetzung anwendest. Ausser natürlich es handelt sich immer um nur ein Element des Arrays, das du ersetzen magst. Aber wie das geht weist du sicherlich.

Nur für den Fall das du mit foreach noch nicht gearbeitet hast:

foreach ($array as $element) {
$element = str_replace($variable, "<b>".$variable."</b>", $element);
}

Dann "hangelt" sich die Schleife quasi durch jedes Element des Arrays und weist den jeweiligen Wert in diesem Fall der Variablen $element zu.

Zu str_replace contra RegEx, prinzipiell kannst du das so machen, der Vorteil von RegEx is halt, das du damit sehr viel mehr machen kannst. Ausserdem glaube ich, dass die preg Funktionen weitaus schneller sind. Schneller als die ereg-Funktionen auf jeden Fall. Vielleicht weiss ja sonst noch wer was da nu schneller is.

Gruss
:|
 
Laut http://www.php4-forum.de :
"Seit PHP-Version 3.0.9 kann man unter PHP nun auch die Perl Kompatiblen Regulären Ausdrücke (PCRE) verwenden. Ihr Vorteil ist: sie sind ausgereifter und dadurch sehr viel schneller als die EREG-Funktionen (in manchen Fällen sogar bis zu 200x schneller)."
Ich benutze trotzdem noch die ereg-Funktionen. Alte Angewohnheit...
 
Der Held:

hab das mit deinem Foreach gemacht ;) aber er ersetzt einfach nichts.
Schau mal was falsch ist:

mysql_select_db("andre",$db);
$Sql_query = "SELECT * from news Order by news_id DESC";
$sql_result = mysql_query($Sql_query);
while($news=mysql_fetch_array($sql_result)){
foreach ($news as $smily) {
$smily = str_replace(":)", "<img src='smily.gif'>", $smily);
}
?>
 
Zurück