Weblinks in Texten umwandeln ??

Begonnen von pyr0, 23 Februar 2010, 08:53:33

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

pyr0

Moin Moin,
gab es da nicht mal ne interne Funktion für, welche alle eingegeben Links in Texten oder Modulen automatisch so umwandelt das diese dann auch benutzbar sind???

Falls ja würde es mich brennend interessieren wie das geht.
Ich würde das gern in mein Modul übernehmen.


Merci
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

Baldyman

Moin pyr0  :morning:

schau mal in die mx_api_2.php dort sollte die make_clickable() drinstecken.

breakdancer

Moin Baldyman,  :morning:

leider nix - die Funktion rauf und runter gesucht, kein Eintrag.

Liebe Grüße

Markus


Baldyman

Zitat von: breakdancer am 10 März 2010, 08:36:52
... leider nix - die Funktion rauf und runter gesucht, kein Eintrag ...

:bindoof:  Hab in der falschen Version nachgeschaut. Ist noch Beta.

SORRY !!!!

Aber wenn sie rauskommt, weist du dann wo´s steckt  :BD:

breakdancer

:BD: Da hast Du allerdings Recht, positiv denken ist angesagt.  :thumbup:

Ich selbst kann damit sowieso warten - es eilt bei mir nicht.

Aber im Moment - heisst das - steht eine entsprechende Möglichkeit nicht zur Verfügung ?


P. S. Sorry, Pyr0, wollte Deinen Beitrag ned Hijacken, aber ich habe mir die Frage auch schon öfters gestellt...  :BD: :BD:

pyr0

Könnte das damit gehen ?
# function html_activate_links($str) {
#  $str = preg_replace('"(((f|ht){1}tp://)[a-z0-9-.] [.]{1}[a-z]{1,6}[-a-z0-9@:%_$.! *, .~#;?&//=]*)"i', '<a href="$1">$1</a>', $str);
#  $str = preg_replace('"([snr>]{1}|^)((www.)[a-z0-9-]{1,255}[.]{1}[a-z]{1,6}[-a-z0 -9@:%_$.!*, .~#;?&//=] )"i', '$1<a href="http://$2">$2</a>', $str);
#  $str = preg_replace('"(([snr>]){1}|mailto:|^)(([-a-z0-9@:%_$.!*,; .~#;?&//=] )@([a-z0-9-.] [.]{1}[a-z]{1,6}))"i', '$2<a href="mailto:$3">$3</a>', $str);
#  $str = preg_replace('"(((f|ht){1}tp://)([0-9]{1,3}([./sn]|$){1}){4}[-a-z0-9@:%_$.!*, .~#;?&//=]*)"i', '<a href="$1">$1</a>', $str);
#  return $str;
#  }


kann es gerade nicht testen, weil ich auf der Arbeit bin  :gruebel:
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

pyr0

Egal wie ich es anstelle ich bekomm es nicht wirklich hin. Zum anzeigen nehme ich folgendes:
echo mxNL2BR(mxPrepareToDisplay($project_desc2));

egal ob ich die Funktionen danach oder davor mache ..... es geht die Formatierung vom PMX verloren

wenn ich jetzt diese Function einbinde:
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);
}


oder diese vom phpbb.com
function make_clickable($text)
{

// pad it with a space so we can match things at the start of the 1st line.
$ret = ' ' . $text;

// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
// xxxx can only be alpha characters.
// yyyy is anything up to the first space, newline, comma, double quote or <
$ret = preg_replace("#(^|[\n ])([\w]+?://[^ \"\n\r\t<]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);

// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
// zzzz is optional.. will contain everything up to the first space, newline,
// comma, double quote or <.
$ret = preg_replace("#(^|[\n ])((www|ftp)\.[^ \"\t\n\r<]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);

// matches an email@domain type address at the start of a line, or after a space.
// Note: Only the followed chars are valid; alphanums, "-", "_" and or ".".
$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);

// Remove our padding..
$ret = substr($ret, 1);

return($ret);
}


dann wird die Ausgabe nicht mehr sauber formatiert ?!


Hat da jemand eine Idee ?!
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

pyr0

Mist !!!
wenn ich das
echo mxNL2BR(mxPrepareToDisplay($project_desc));
mit folgender Function ändere wird ja die Ausgabe versaut, also ich weiss zwar nicht ganz sogenau ob es ein grober Fehler ist, aber ich hab es jetzt erstmal so gelöst:
echo nl2br(make_clickable($project_desc));

damit werden wenigstens die BR umgewandelt und der Link ist klickbar
Vielleicht hat ja jemand von euch noch ne Idee   :puzzled:
Kein Support über PN, Mail !
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!