Glaubensfrage Script

Hallo Forum,

ich dreh hier am Radddddddddd :eek:

Ich habe 2 identische Scripte.

Das eine wird über eine Variable(String) eingelesen, das andere direkt als Versuch.
Das erste funktioniert einwandfrei, das 2te generiert eine Fehlermeldung.

Noch eine Frage an die Html Profis, wie bekomme ich einen Absatz raus.<p> Mit strip_tags geht es nicht.
Man sieht es hier bei der Arrayausgabe [0].

Für eine Lösung oder Verbesserungsvorschläge, wäre ich dankbar.

Anbei mal beide Scripte mit entsprechender Ausgabe.

Script einwandfrei:

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : eDip Web
Trigger  : Bei Variablenänderung
Interval : 
*/
// Neue Meldung einlesen
$FFHWetter = GetValue(19626 /*[FFH Wetter\FFH_Wetter]*/);
$FFHWetter = str_replace("ö","ö", $FFHWetter);
//$FFHWetter = str_replace("</h3>","", $FFHWetter);
$FFHWetter = strip_tags($FFHWetter);
//$FFHWetter = str_replace("","", $FFHWetter);
echo "Stringlänge ist ".strlen($FFHWetter)." Zeichen","
";
// String aufteilen nach ganzen Wörtern und als Array ausgeben
$stringlaenge = 46;
$words = preg_split("/[\040]+/", $FFHWetter, -1);
$r=0;
for($i=0; $i < count($words); $i++){
if (strlen($line[$r] . $words[$i] . ' ') < $stringlaenge) $line[$r] .= $words[$i] . ' ';
else
 {
   $r++;
   $line[$r] .= $words[$i] . ' ';
 }
}
print_r($line);
//Umwamdlung von Ää,Öö,Üü,ß in das richtige Format
$line = str_replace("Ä", "\x8E", $line);
$line = str_replace("ä", "\x84", $line);
$line = str_replace("Ö", "\x99", $line);
$line = str_replace("ö", "\x94", $line);
$line = str_replace("ü", "\x81", $line);
$line = str_replace("Ü", "\x9A", $line);
$line = str_replace("ß", "\xE1", $line);
//print_r($line);
// Zeilenlänge nach String aufteilen und Array auslesen
//$Zeile1 = ($line[0]);
//echo "
",$Zeile1;
$Zeile2 = ($line[1]);
$Zeile3 = ($line[2]);
$Zeile4 = ($line[3]);
// Daten auf Display ausgeben
COMPort_SendText(42295 /*[eDIP]*/, chr(27)."RL".chr(2).chr(69).chr(240).chr(128));
//COMPort_SendText(42295 /*[eDIP]*/, chr(27)."ZV".chr(4));
COMPort_SendText(42295 /*[eDIP]*/, chr(27)."ZL".chr(2).chr(70)."$Zeile1"."\x7C"."$Zeile2"."\x7C"."$Zeile3"."\x7C"."$Zeile4".chr(0));
//COMPort_SendText(42295 /*[eDIP]*/, chr(27)."ZV".chr(4));
//echo "
",$FFHWetter;
?>

Ausgabe:

Stringlänge ist 316 Zeichen
Array
(
    [0] => 
Am Sonntag halten sich viele Wolken und 
    [1] => gebietsweise regnet oder nieselt ist. Vor 
    [2] => allem im Norden zeigt sich auch die Sonne. 
    [3] => Die Höchstwerte liegen zwischen 8 und 12 
    [4] => Grad, auf den Bergen bei 6 bis 8 Grad. Dazu 
    [5] => weht ein schwacher bis mäßiger, 
    [6] => im Bergland zum Teil frischer Wind aus 
    [7] => westlichen Richtungen.
 
)

Script mit Fehlermeldung

<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : versuche.ips.php
Trigger  :
Interval :
*/
$versuch = '
<p>
<h3>Das Wetter in Hessen</h3>
<p>In der Nacht zum Samstag ist der Himmel verbreitet wolkenverhangen, nur
selten aufgelockert und stellenweise nieselt es etwas. Die Tiefstwerte bewegen
sich zwischen 7 und 2 Grad.
<br />';
//Neue Meldung einlesen
$FFHWetter =  $versuch;
// GetValue(19626 /*[FFH_Wetter]*/);
//$FFHWetter = str_replace("ö","ö", $FFHWetter);
//$FFHWetter = str_replace("</h3>","", $FFHWetter);
$FFHWetter = strip_tags($FFHWetter);
//$FFHWetter = str_replace("","", $FFHWetter);
echo "Stringlänge ist ".strlen($FFHWetter)." Zeichen";
// String aufteilen nach ganzen Wörtern und als Array ausgeben
$stringlaenge = 46;
$words = preg_split("/[\040]+/", $FFHWetter, -1);
$r=0;
//$line = array();
for($i=0; $i < count($words); $i++) {
  if ( strlen($line[$r] . $words[$i] . ' ') < $stringlaenge )
      $line[$r] .= $words[$i] . ' ';
  else {
      $r++;
      $line[$r] .= $words[$i] . ' ';
    }
}
//Umwamdlung von Ää,Öö,Üü,ß in das richtige Format
$line = str_replace("Ä", "\x8E", $line);
$line = str_replace("ä", "\x84", $line);
$line = str_replace("Ö", "\x99", $line);
$line = str_replace("ö", "\x94", $line);
$line = str_replace("ü", "\x81", $line);
$line = str_replace("Ü", "\x9A", $line);
$line = str_replace("ß", "\xE1", $line);
print_r($line);
// Zeilenlänge nach String aufteilen und Array auslesen
//$Zeile1 = ($line[0]);
//echo "
",$Zeile1;
$Zeile2 = ($line[1]);
$Zeile3 = ($line[2]);
$Zeile4 = ($line[3]); 
 
?>

Ausgabe:

Parse error:  parse error, unexpected T_VARIABLE in [Test_1] on line 38

Bei mir laufen beide.

paresy

Hallo paresy,

schön, Bei mir nicht und bei Torro auch nicht :mad:

Hier läufts auch.

Hier mal die Version mit Eliminierung leerer Zeilen:


<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : versuche.ips.php
Trigger  :
Interval :
*/
$versuch = '
<p>
<h3>Das Wetter in Hessen</h3>
<p>In der Nacht zum Samstag ist der Himmel verbreitet wolkenverhangen, nur
selten aufgelockert und stellenweise nieselt es etwas. Die Tiefstwerte bewegen
sich zwischen 7 und 2 Grad.
<br />';
//Neue Meldung einlesen
$FFHWetter =  $versuch;
// GetValue(19626 /*[FFH_Wetter]*/);
//$FFHWetter = str_replace("ö","ö", $FFHWetter);
//$FFHWetter = str_replace("</h3>","", $FFHWetter);
$FFHWetter = strip_tags($FFHWetter);
$FFHWetter = str_replace("
", " ", $FFHWetter);
$FFHWetter = str_replace("
", " ", trim($FFHWetter));
echo "Stringlänge ist ".strlen($FFHWetter)." Zeichen";
// String aufteilen nach ganzen Wörtern und als Array ausgeben
$stringlaenge = 46;
$words = preg_split("/[\040]+/", $FFHWetter, -1);
$r=0;
//$line = array();
for($i=0; $i < count($words); $i++) {
  if ( strlen($line[$r] . $words[$i] . ' ') < $stringlaenge )
      $line[$r] .= $words[$i] . ' ';
  else {
      $r++;
      $line[$r] .= $words[$i] . ' ';
    }
}
//Umwamdlung von Ää,Öö,Üü,ß in das richtige Format
$line = str_replace("Ä", "\x8E", $line);
$line = str_replace("ä", "\x84", $line);
$line = str_replace("Ö", "\x99", $line);
$line = str_replace("ö", "\x94", $line);
$line = str_replace("ü", "\x81", $line);
$line = str_replace("Ü", "\x9A", $line);
$line = str_replace("ß", "\xE1", $line);
print_r($line);
// Zeilenlänge nach String aufteilen und Array auslesen
//$Zeile1 = ($line[0]);
//echo "
",$Zeile1;
$Zeile2 = ($line[1]);
$Zeile3 = ($line[2]);
$Zeile4 = ($line[3]);

?>

Alles ein bischen seltsam.

Nach dem letzten Update läuft es auch bei mir :confused:

… dieses PHP-Skript hat nichts mit einem Update zu tun …