stringänderung

Robert Fischer

Erfahrenes Mitglied
hallo an euch,

also ich habe folgenden code:

$hometext2 = ereg_replace("<a href=","",$hometext);
$hometext3 = ereg_replace("target=_blank>","",$hometext2);
$hometext4 = ereg_replace(">/</a>","",$hometext3);
echo "<font face=verdana size=1>";
echo "<b>$title</b><br>$hometext4<br><br>";

der liegt in einer mysql-anweisung. jedenfalls wird hier text auf die einzelnen bestandteile wie "<a href=" geprüft und entsprechend ersetzt. das problem ist, dass ich nicht weiss, wie ich code ersetzen kann, zwischen dem unterschiedliche inhalte stehen, also wie in der dritten zeile.

wenn hier einmal ">Die Links</a>" steht soll das ganz gelöscht werden, genauso wie z.b ">Die Tutorials</a>". wie kann ich soetwas durchführen. mit _ oder * geht es irgendwie nicht.
 
Also irgendwie raff ich nicht ganz was du eigentlich willst. Es sieht ganz so aus als wolltest du die HTML-Tags aus dem Text entfernen, den du aus der Datenbank holst.

Da würde ich dann die Funktion strip_tags () nehmen.
 
es geht um ein newsletter script und teile der datenbank beinhalten halt html-codierung. die links liegen normal vor, jedoch sollen diese halt durch die url ersetzt werden. daher will ich aus z.b.

<a href=http://www.tutorials.de target=_blank>Tutorials.de</a>
einfach
http://www.tutorials.de

ausschneiden und deshalb hab ich immer das "<a href=" usw. weggemacht.
 
-

$pattern = '=^(.*)<a\\n*(.*)href\="?([^h][^t][^t][^p][^: ]\S+)"';
$pattern .= '([^>]*)\\n*>(.*)</a\\n*>(.*)$=msi';
$repl = '\\1<a\\2 href="<?php $sess->purl("\\3"); ?>"\\4>\\5</a>\\6';

while (!$fertig)
{

$zeilenew = preg_replace($pattern, $repl, $zeile);

if ($zeilenew == $zeile)
{
$fertig = true;
$zeile = $zeilenew;
flush();
break;
} else {
$zeile = $zeilenew;
print ".<br>\n";
flush();
}
}

print "Ersetzt:<br><br>".nl2br(htmlspecialchars($zeile));

Sorry, ich poste das jetzt mal so, da das Board das Script verputzt.
 
Zuletzt bearbeitet:
danke erstmal,
gibt es noch eine möglichkeit, alle strings, welche zwischen "<" und ">" stehen zu entfernen (inkl. "<" und ">") außer von <br>???

also z.B. <a href=http://test>test</a> ganz weg und <br> bleibt stehen
 
Ich habe hier eine funktion die alla <a href eingaben in "klickbare" url's macht.
Ich hoffe du suchst das. :)

PHP:
function url($text) {
    $ret = eregi_replace("([[:alnum:]+)://([^[:space:]*)([[:alnum:])",    "<a href=\"\\1://\\2\\3\" target=\"_blank\" target=\"_new\" title=\"\\1://\\2\\3\">\\1://\\2\\3</a>", $text);
    $ret = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:space:]*)([[:alnum:]))",  "<a href=\"mailto:\\1\" target=\"_new\" title=\"\\1\">\\1</a>", $ret);
    return($ret);
}

Hoffentlich hilft dir das.
-emkey
 
genau über dein probl. habe ich grade ein tolles tutorial (ein einsteiger-allround teil, eigentlich, aber da ist besonders drauf eingegangen worden) bei http://www.utcenter.com oder .de gelesen. ich hoffe, dass hülft ;)

tschau
 

Neue Beiträge

Zurück