Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
http:// und www. [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
http:// und www.


 
Wotan
25-07-2002, 14:40 
 
Wie muss ich folgenden Script-Code umschreiben damit er mir auch www.meine.de ersetz und als link ausgibt, ändern.

$msg = ereg_replace("(http://[^[:space:]$]+)","<A HREF=\"\\1\" target=\"_blank\"><u><b>\\1</b></u></A>",$msg);

 
Titus
25-07-2002, 14:56 
 
zweites ereg dahinter ist die einfachste Lösung:
$msg = ereg_replace("(www\.[^[:space:]$]+)","<A HREF=\"http://\\1\" target=\"_blank\"><u><b>\\1</b></u></A>",$msg);

 
Wotan
25-07-2002, 15:03 
 
Hab ich gemacht. Jetzt zerkackt er mir aber die HTTP.

Das ist jetzt die Ausgabe

www.meine.de" target="_blank">
http://www.meine.de
info@meine.de www.deine.de" target="_blank">
http://www.deine.de info@deine.de www.seine.de

und die Var sieht so aus:

$text = "http://www.meine.de
info@meine.de
http://www.deine.de
info@deine.de
www.seine.de";

 
Titus
25-07-2002, 15:12 
 
ahups ...
dann mit preg_replace, da kann man mehrere Ersetzungen parallel machen (hoffe ich):
$msg = preg_replace(array(
"&(www\.[^[:space:]$]+)&i",
"&(http://[^[:space:]$]+)&i"
), array(
'<A HREF="http://\1" target="_blank"><u><b>\1</b></u></A>',
'<A HREF="\1" target="_blank"><u><b>\1</b></u></A>'
), $msg);

 
Wotan
25-07-2002, 15:33 
 
Und das kommt dann im Quelltext dabei raus:

<A HREF="http://<A" target="_blank">http://<A</A>
HREF="<A HREF="http://www.meine.de""
target="_blank">http://www.meine.de"</A>
target="_blank">www.meine.de</A> <br>
<A HREF="<A HREF="http://www.seine.de""
target="_blank">http://www.seine.de"</A>
target="_blank">www.seine.de</A>


Und hier die Funktion:

$msg = preg_replace(array(
"&(www\.[^[:space:]$]+)&i",
"&(http://[^[:space:]$]+)&i"),array(
'<A HREF="http://\\1" target="_blank">\\1</A>',
'<A HREF="\\1" target="_blank">\\1</A>'), $msg);


Meine Var:

$text = "http://www.meine.de <br> www.seine.de";


Habe jetzt folgendes Probiert:
die ' gegen " ausgetauscht
vor die " ein \ gesetzt
Aber er bringt mir immer noch das querbeet.:dontknow: :confused:

 
Titus
25-07-2002, 15:46 
 
$msg = ereg_replace('(www\.[^[:space:]$]+)','http://\1', $msg);
vor deine ursprüngliche ereg setzen

 
Wotan
25-07-2002, 15:54 
 
Das ist jetzt die Funktion:

$msg = ereg_replace("(www\.[^[:space:]$]+)",
"http://\\1",$msg);
$msg = ereg_replace("(http://[^[:space:]$]+)",
"<A HREF=\"\\1\" target=\"_blank\">\\1</A>",
$msg);
$msg = ereg_replace("(www\.[^[:space:]$]+)",
"<A HREF=\"http://\\1\" target=\"_blank\">\\1</A>",
$msg);

Kommt aber immer noch Chaos raus ob woll schmalle in Buxtehude ist.:D

Kannst du nicht mal schauen wie es hier im Forum gemacht wird?

 
Titus
25-07-2002, 15:57 
 
sorry ich vergaß: lass die letzte ereg weg
nur die neue und deine alte

 
Wotan
25-07-2002, 15:59 
 
jetzt macht er http://http://www.meine.de
und http://www.meine.de

("(www\.[^[:space:]$]+)","http://\\1", $msg);
("(http://[^[:space:]$]+)","<A HREF=\"\\1\" target=\"_blank\">\\1</A>",$msg);

 
Titus
25-07-2002, 16:05 
 
okay, ersetz die erste durch
$msg = ereg_replace('(http://)?(www\.[^[:space:]$]+)','http://\2', $msg);

 
Wotan
25-07-2002, 16:08 
 
KNUTSCH suppiiiiiiii es klappt.
Danke Titus.

Das mit den http: und www. Ersetzungen werde ich mir nie merken.:D

 
Wotan
25-07-2002, 16:21 
 
Zu früh gefreud!!!

Wenn ich das jetzt in Kombination mit [ URL= und [ URL machen kommt wieder nur Müll raus.

[code]
// [URL]
$msg = preg_replace("/\[url](.*)\[\/url\]/siU","<a href=\"\\1\" target='_blank'>\\1</a>",$msg);

// [URL=
$msg = preg_replace("/\[url=(.*)](.*)\[\/url\]/siU","<a href=\"\\1\" target='_blank'>\\2</a>",$msg);

// URL
$msg = ereg_replace('(http://)?(www\.[^[:space:]$]+)','http://\\2',$msg);
$msg = ereg_replace("(http://[^[:space:]$]+)","<A HREF=\"\\1\" target=\"_blank\">\\1</A>",$msg);
[Code]

 
Titus
25-07-2002, 18:38 
 
loggisch ... pack die [url]-Teile nach hinten oder lass den href= in der Ersetzung weg ... sonst wird
aus [ url="http://www.url.de/" ]blah[ /url ]
im ersten Schritt <a href="http://www.url.de/">blah</a>
und im zweiten <a href="http://<a href="www.url.de/">www.url.de</a>">blah</a>

 
hand
25-07-2002, 18:38 
 
@wotan
Sorry aber mit den reg.Expressions bin ich auf Kriegsfuß


/**
* replace URIs with appropriate HTML code to be clickable.
* Quelle: http://www.dclp-faq.de/q-regexp-uri-klickbar.html
*/
function replace_uri($str) {
$pattern = '#(^|[^\"=]{1})(http://|ftp://|mailto:|news:)([^\s<>]+)([\s\n<>]|$)#sm';
return preg_replace($pattern,"\\1<a href=\"\\2\\3\"><u>\\2\\3</u></a>\\4",$str);
}

Hab gerade mit dem da gekämpft, aber die www. bekomme ich leider nicht hinein, dabei wär es so schön, http://|ftp://|mailto:|news: wären schon da
Wenn Du aber auf die blöden www. verzichten könntest, dann ....

 
Wotan
25-07-2002, 19:33 
 
Original geschrieben von Titus
loggisch ... pack die -Teile nach hinten oder lass den href= in der Ersetzung weg ... sonst wird
aus [ url="http://www.url.de/" ]blah[ /url ]
im ersten Schritt <a href="http://www.url.de/">blah</a>
und im zweiten <a href="http://<a href="www.url.de/">[url]www.url.de</a>">blah</a>

Klappt leider nicht. Ich kann entweder oder benutzen, aber nicht beide zusammen.

 
danthecan
26-08-2002, 19:04 
 
Und was ist mit den Domains die kein www drin haben wie z.B.
http://unisingles.de???

OK! so gehts:

$str = ereg_replace('(http://)?([^[:space:]$]+)','http://\2', $str);

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:20 Uhr.