philipp
Neues Mitglied
hi, ich hab ne funktion, die mir alle möglichen sonderzeichen ins korrekte html entite ersetzen soll, sieht so aus:
ich will aber auch alle " ersetzen, aber nur, wenn sie ausserhalb von <*> stehen, mit regexp kenn ich mich nur minimal aus, wie könnte der ausdruck aussehen?
PHP:
<?php
/*
* Funktion zum ersetzen fremdsprachiger Sonderzeichen
* Beinhaltet auch andere Sonderzeichen
* Das Sonderzeichen "&" muss immer den ersten Platz im array einnehmen
* The Character "&" has to take the first position in the array
* Function for replacing german Special Characters
* Includes also other Special Chars
*/
function mp_re_gerform ($str) {
if ( isset($str) ) {
if ( is_string($str) ) {
//Such und Ersetzarrays, Search and Replace Arrays
$search = array('&','ä','Ä','ö','Ö','ü','Ü','ß','€','©','«','»','¢','÷','µ','·','¶','±','£','®','§','¥','á','Á','à','À','â','Â','å','Å','ã','Ã','æ','Æ','ç','Ç','é','É','è','È','ê','Ê','ë','Ë','í','Í','ì','Ì','î','Î','ï','Ï','ñ','Ñ','ó','Ó','ò','Ò','ô','Ô','ø','Ø','õ','Õ','ú','Ú','ù','Ù','û','Û','ÿ','´','`' );
$replace = array('&','ä','Ä','ö','Ö','ü','Ü','ß','&euro','©','«','»','¢','÷','µ','·','¶','±','£','®','§','¥','á','Á','à','À','&acric;','Â','å','Å','ã','Ã','æ','Æ','ç','Ç','é','É','è','È','ê','Ê','ë','Ë','í','Í','ì','Ì','î','Î','ï','Ï','ñ','Ñ','ó','Ó','ò','Ò','ô','Ô','ø','Ø','õ','Õ','ú','Ú','ù','Ù','û','Û','ÿ','´','`' );
return str_replace($search, $replace, $str);
} else {
return "ERROR: Die uebergebene Variable ist nicht vom Datentyp String";
}
} else {
return "ERROR: Es wurde keine Zeichenfolge uebergeben";
}
}
?>
ich will aber auch alle " ersetzen, aber nur, wenn sie ausserhalb von <*> stehen, mit regexp kenn ich mich nur minimal aus, wie könnte der ausdruck aussehen?