PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   preg_match_all local und online wird unterschiedlich ausgewertet (http://www.selfphp.de/forum/showthread.php?t=21734)

saidbuchari 02.07.2009 13:32:00

preg_match_all local und online wird unterschiedlich ausgewertet
 
hay alle zusammen. ich ml wieder mit wahrscheinlich ner kleinigkeit.

ich teste folgenden preg_match local mit Wamp und matcht die abfrage auf den string lad ich die seite dann aber hoch matcht er nicht woran liegt das? Jemand mal ähnliches Problem gehabt?


PHP-Code:

$s2 "1,4,5:König";
if (
preg_match_all('/^([\d{1,3},]+):[^\d][+-|\"|\w*|\" ]+$/miu'$s2$wert) && $treffer != true){
.... 
bla bla


Habe einen Strato V Server. Muss ich was in der PHP ini verändern?
Dieses Problem besteht übrigens nur wenn Wörter mit Umlauten hinter dem DOppelpunkt stehen. es scheint so als wenn mein Server bei STrato das anders auswertet als offline.


Liebe Grüsse
Said

Indyk 02.07.2009 13:53:14

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
verwendest du offline und online verschiedene zeichensätze? z.B. mal latin1 und mal utf8?

saidbuchari 02.07.2009 13:55:05

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
eigentlich nicht header ist immer jeweils UTf8 online wie auch offline via
PHP-Code:

header("Content-Type: text/html;UTF-8"); 

in jeder Seite ganz oben

muss ich vielleicht in der PHP ini auf dem Server irgendwie auf UTF8 umstellen? ich mein local hab ich das nciht gemacht. hab nur wamp installiert und arbeite damit

Indyk 02.07.2009 13:59:08

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
Ist die Datei selbst denn als UTF8 abgespeichert? woher kommt $s2 wenn du es nicht per hand füllst?

saidbuchari 02.07.2009 14:11:17

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
ja die dateien sind als utf8 gespeichert sprich in dreamweaver mit seitenseinstellungen und das Häckchen bei BOM Signatur einschliessen ist auch aktiviert.

$s2 ist in dem Fall ja einfach ein string der definiert wird von mir da ich die ganzen verschiedenen abfragen erstmal teste. sprich $s2 steht so über der abfrage in der datei die ich direkt aufrufe.
PHP-Code:

$s2 "1,4,5:König"// Dann die abfrage 

local matcht er online matcht er nicht. ich vergleiche gerade die php einstellungen über phpinfo();

saidbuchari 02.07.2009 14:14:23

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
hab online schonmal ne andere PHP version und zwar Version 5.1.2 und offline Version 5.2.7


Apache Environment
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7

HTTP Headers Information
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7

PHP Variables
_SERVER["HTTP_ACCEPT_CHARSET"] ISO-8859-1,utf-8;q=0.7,*;q=0.7

sind bei beiden gleich

saidbuchari 02.07.2009 14:50:30

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
mh kann da online nix entdecken was anders ist als local. noch jemand ideen woran es liegen könnte?

cortex 02.07.2009 14:52:48

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
zeig mal einen beispiel-string und die jeweiligen ergebnisse.

cx

saidbuchari 02.07.2009 18:43:43

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
ok ich poste mal den kompletten code der testseite

PHP-Code:

<?php
header
("Content-Type: text/html;UTF-8");
$treffer false;
$s2 "1,4,5:König";
# Nur suchwörter sollen gesucht werden ohne minus plus oder Zahlen am Beginn der Zeichenkett
# Funktioniert schonmal !!
if (preg_match_all("/^[^\d-|+][^\d]+/miu"$s2$wert) && $treffer == false){
    echo 
"Wortstring1<br>";
    
print_r($wert);
    
$treffer true;
    }else{
    echo 
"nicht lesbar<br>";
    
print_r($wert);
    echo 
"<br>";
    
$treffer false;
    }
# Suchwörter beginnend mit - oder +    
# Funktioniert schonmal !!
if (preg_match_all("/^[-|+][^\d]+/miu"$s2$wert) && $treffer != true){
    echo 
"Wortstring2<br>";
    
print_r($wert);
    
$treffer true;
    }else{
    echo 
"nicht lesbar<br>";
    
print_r($wert);
    echo 
"<br>";
    
$treffer false;
    }
# Beginnend mit Kapiteln dann suchwort
# Funktioniert schonmal !!
if (preg_match_all('/^([\d{1,3},]+):[^\d][+-|\"|\w*|\" ]+$/miu'$s2$wert) && $treffer != true){
    echo 
"beginnt mit Zahl <br>";
    
print_r($wert);
    echo 
"<br>";
    
$treffer true;
    }else{
    echo 
"nicht lesbar";
    echo 
"<br>";
    
print_r($wert);
    echo 
"<br>";
    
$treffer false;
    }    
# Beginnend mit kapiteln von bis und dann suchwort
# Funktioniert schonmal !!        
if (preg_match_all('/^([\d\{1,3\}\-\d\{1,3\}]+):[^\d][+-|\"\w*|\" ]+$/miu'$s2$wert) && $treffer != true){
    echo 
"Sure Von bis<br>";
    
print_r($wert);
    
$treffer true;
    }else{
    echo 
"nicht lesbar<br>";
    
print_r($wert);
    echo 
"<br>";
    
$treffer false;
    }    
    
if (
preg_match_all("/^[^,.+-\s][\d+,]+$/mi"$s2$wert) && $treffer != true){    
    echo 
"beginnt mit Zahl <br>";
    
print_r($wert);
    
$treffer true;
    }else{
    echo 
"nicht lesbar<br>";
    
print_r($wert);
    echo 
"<br>";
    
$treffer false;
    }
    
?>


local gibt er mir folgendes aus


HTML-Code:

nicht lesbar
Array ( [0] => Array ( ) )
nicht lesbar
Array ( [0] => Array ( ) )
beginnt mit Zahl
Array ( [0] => Array ( [0] => 1,4,5:König ) [1] => Array ( [0] => 1,4,5 ) )
nicht lesbar
Array ( [0] => Array ( [0] => 1,4,5:König ) [1] => Array ( [0] => 1,4,5 ) )
nicht lesbar
Array ( [0] => Array ( ) )

online folgendes


HTML-Code:

nicht lesbar
Array ( [0] => Array ( ) )
nicht lesbar
Array ( [0] => Array ( ) )
nicht lesbar
Array ( [0] => Array ( ) [1] => Array ( ) )
nicht lesbar
Array ( [0] => Array ( ) [1] => Array ( ) )
nicht lesbar
Array ( [0] => Array ( ) )

der beispielstring war in diesem fall

1,4,5:König

Hoffe das ist verständlich

Indyk 03.07.2009 09:03:28

AW: preg_match_all local und online wird unterschiedlich ausgewertet
 
selbes verhalten bei mir wenn ich local und online teste.


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:04:07 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.