entfernen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 
 entfernen

    Hallo,

    ich möchte aus einem String 
 entfernen, bekomme es aber leider nicht hin. Hier mal mein PHP Code

    Quellcode

    1. $rez_name = $_POST["titel"];
    2. $rez_zutat = $_POST["zutaten"];
    3. $rez_zub = $_POST["zubereitung"];
    4. //Klasse erstellen
    5. class Rezept2XML {
    6. private $Cname;
    7. private $Czutaten;
    8. private $Czutaten_arr = array();
    9. private $Czubereitung;
    10. private $newzutaten;
    11. private $dom;
    12. public function __construct ($eins, $zwei, $drei) {
    13. $this->Cname = $eins;
    14. $this->Czutaten = htmlentities($zwei);
    15. $this->Czubereitung = htmlentities($drei);
    16. //var_dump ($this->Cname, $this->Czutaten,$this->Czubereitung);
    17. }
    18. //Fügt die einzelnen Zeilen der Zutaten in ein array ein
    19. private function zutatenInArray () {
    20. $this->newzutaten = nl2br($this->Czutaten);
    21. $this->Czutaten_arr = explode ("<br />", $this->newzutaten);
    22. ========================================================
    23. foreach ($this->Czutaten_arr as $key=>$value){
    24. //$value = str_replace("\n\r", "", $value);
    25. $value = str_replace("xd;", " ", $value);
    26. $value= str_replace ("<br />", "", $value);
    27. $value = preg_replace("/&#xD;/", "", $value);
    28. }
    29. ========================================================
    30. }
    31. function erstelleXMLBaum (){
    32. // create doctype
    33. $dom = new DOMDocument("1.0");
    34. //create root element
    35. $root = $dom->createElement("rezept");
    36. $dom->appendChild($root);
    37. //createVersionInfo
    38. $ver = $dom->createElement("ver");
    39. $root->appendChild($ver);
    40. //textNode for Version
    41. $ver_info = $dom->createTextNode("1");
    42. $ver->appendChild($ver_info);
    43. // create child element: <name>
    44. $name = $dom->createElement("name");
    45. $root->appendChild($name);
    46. // create text node: Rezeptname
    47. //var_dump($this->Cname);
    48. $name_text = $dom->createTextNode($this->Cname);
    49. $name->appendChild($name_text);
    50. //<zutaten>
    51. $zutaten = $dom->createElement("zutaten");
    52. $root->appendChild($zutaten);
    53. $this->zutatenInArray();
    54. //für jedes Array-Element wird ein <zutat> Tag erstellt
    55. foreach ($this->Czutaten_arr as $zutat=>$inhalt) {
    56. //create another child element
    57. $zutat = $dom->createElement("zutat");
    58. $root->appendChild($zutat);
    59. $zutaten_text = $dom->createTextNode($inhalt);
    60. $zutat->appendChild($zutaten_text);
    61. }
    62. //create another child element: <zubereitung>
    63. $zubereitung = $dom->createElement("zubereitung");
    64. $root->appendChild($zubereitung);
    65. $zubereitung_text = $dom->createTextnode($this->Czubereitung);
    66. $zubereitung->appendChild($zubereitung_text);
    67. //$rezept = $dom->saveXML();
    68. $new_rez_name = str_replace(" ", "_", $this->Cname);
    69. $filename = $new_rez_name . ".xml";
    70. $handle = fopen($filename, w);
    71. if(!$handle) exit("File open not successfull - ".$handle);
    72. chmod($filename, 0777);
    73. //Umlaute entfernen
    74. $dom->save($filename);
    75. fclose ($handle);
    76. //printf( "<script type='text/javascript'>" . "self.location='".$filename."';". "</script>");
    77. header("Content-Type: text/xml");
    78. header("Content-Disposition: attachment; filename=\"$filename\"");
    79. readfile($filename);
    80. unlink($filename);
    81. } //Ende function: erstelleXMLBaum
    82. } //Ende class: Rezept2XML
    83. $rezeptersteller = new Rezept2XML($rez_name, $rez_zutat, $rez_zub);
    84. $rezeptersteller->erstelleXMLBaum();
    Alles anzeigen


    Was muss ich machen / lesen? Danke
  • Hi und willkommen bei easy-coding.
    Deine Funktion ändert die eigentliche Membervariable nicht, sondern nur die Kopie eines Wertes.

    Lösung:

    Quellcode

    1. foreach ($this->Czutaten_arr as $key=>$value){
    2. //$this->Czutaten_arr[$key] = str_replace("\n\r", "", $value);
    3. $this->Czutaten_arr[$key] = str_replace("xd;", " ", $value);
    4. $this->Czutaten_arr[$key] = str_replace ("<br />", "", $value);
    5. $this->Czutaten_arr[$key] = preg_replace("/&#xD;/", "", $value);
    6. }