Jürgen: php " in variable

hallo,
ich habe eine variable [laptopgrößen] die ein hochkomma enthält:
zb 13" oder 15"
bei der vearbeitung habe ich dann folgendes problem:
<?php if ($zeile[5]=="13""){echo "selected";}?>
Da hier 2 "" vorkommen kommt eine Fehlermeldung.
Ich weis das kann man ingendwie Umgehen aber leider nicht mehr wie?
Wer weis Rat oder einen Link zu dem Thema.
danke

  1. Hi Jürgen!

    Ich weis das kann man ingendwie Umgehen aber leider nicht mehr wie?

    1. Du maskierst das Zeichen mit einem Backslash oder
    2. Du nutzt einfache Anführungszeichen.

    Wer weis Rat oder einen Link zu dem Thema.

    Dazu findest du - wie meistens - etwas im Manual: [http://php.net/language.types.string]

    MfG H☼psel

    --
    "It's amazing I won. I was running against peace, prosperity, and incumbency."
    George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
    Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
    1. Hi Ingrid!

      Der Link lautet richtig: http://php.net/language.types.string

      MfG H☼psel

      --
      "It's amazing I won. I was running against peace, prosperity, and incumbency."
      George W. Bush speaking to Swedish Prime Minister unaware a live television camera was still rolling, June 14, 2001
      Selfcode: ie:% fl:( br:> va:) ls:& fo:) rl:? n4:& ss:| de:] js:| ch:? sh:( mo:) zu:)
  2. Hello,

    ich habe eine variable [laptopgrößen] die ein hochkomma enthält:
    zb 13" oder 15"
    bei der vearbeitung habe ich dann folgendes problem:
    <?php if ($zeile[5]=="13""){echo "selected";}?>
    Da hier 2 "" vorkommen kommt eine Fehlermeldung.
    Ich weis das kann man ingendwie Umgehen aber leider nicht mehr wie?
    Wer weis Rat oder einen Link zu dem Thema.

    guckst Du http://docs.php.net/manual/de/language.types.string.php

    und sagst dem Parser, dass er das Double-Quote-Zeichen im String als Payload und nicht als Steuerzeichen werten soll.

    danke

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. ich habe eine variable [laptopgrößen] die ein hochkomma enthält:
    zb 13" oder 15"
    bei der vearbeitung habe ich dann folgendes problem:
    <?php if ($zeile[5]=="13""){echo "selected";}?>
    Da hier 2 "" vorkommen kommt eine Fehlermeldung.
    Ich weis das kann man ingendwie Umgehen aber leider nicht mehr wie?
    Wer weis Rat oder einen Link zu dem Thema.

    Du möchtest Zeichen, die eine Spezialbedeutung haben mit dem Backslash \ maskieren.
    """
    '''

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
  4. Hallo Jürgen,

    ich habe eine variable [laptopgrößen] die ein hochkomma enthält:
    zb 13" oder 15"
    bei der vearbeitung habe ich dann folgendes problem:
    <?php if ($zeile[5]=="13""){echo "selected";}?>
    Da hier 2 "" vorkommen kommt eine Fehlermeldung.
    Ich weis das kann man ingendwie Umgehen aber leider nicht mehr wie?
    Wer weis Rat oder einen Link zu dem Thema.

    Du musst php hier mitteilen, dass es sich nicht um ein Steuerzeichen, sondern um ein gewolltes Textzeichen handelt. Ich kenne den Backslash als solchen Hinweis:

    $zeile[5]=="13""

    Das geht auch bei anderen Steuerzeichen wie zB. dem Semikolon.

    Achso alternativ könntest du auch:
    $zeile[5]=='13"' schreiben, aber ich vergesse das immer, weil es mir persönlich nicht gefällt.

    ciao
    romy

    PS: Für mich ist das " ein Anführungszeichen und das ' ein Hochkomma ;)

  5. Hallo Dr. Trash,

    falls es dynamisch erfolgen soll, dann mit der Funktion "addslashes":

    $var = addslashes($var);

    Wenn die slashes nachher entfernt werden sollen, dann benutze "stripslashes":

    $var = stripslashes($var);

    Gruß Alexander.

    1. Hello Alexander,

      falls es dynamisch erfolgen soll, dann mit der Funktion "addslashes":

      wie soll das gehen und wofür soll das gut sein?
      Wann uns wo soll addslashes() angewandt werden?
      Das verstehe ich jetzt nicht.

      Da Dein Posting aber einen "hilfreich"-Punkt bekommen hat, muss es ja irgend jemand verstanden haben und könnte es mir jetzt bitte erklären?

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
      Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de
    2. Hi ?[1],

      falls es dynamisch erfolgen soll, dann mit der Funktion "addslashes":

      $var = addslashes($var);

      Das tut etwas voellig anderes, als gefragt war. Es veraendert den Wert der Variablen. Der OP suchte lediglich nach einem Literal fuer einen String, der Anfuehrungszeichen enthaelt.

      Das wollte Dir wohl in etwa auch Tom auf etwas subtilere Weise mitteilen... :-)

      [1] Heisst Du W. Alexander oder heisst Du Alexander und kommst aus W.?

      Viele Gruesse,
      der Bademeister

    3. Hi,

      falls es dynamisch erfolgen soll, dann mit der Funktion "addslashes":

      $var = addslashes($var);

      Wozu?

      Wenn der Text, der " enthält, es bereits "in eine Variable geschafft" hat, dann besteht keinerlei Notwendigkeit zur Maskierung mehr - das " ist innerhalb eines Stringwertes ein Zeichen wie jedes andere.

      Die Notwendigkeit zur Maskierung besteht nur im Kontext "PHP-Code, der vom Parser analysiert werden soll". *Dort* hat das Anführungszeichen ggf. Sonderbedeutung - es beendet die Notation des Textliterals wieder, wenn es auch mit diesem begonnen wurde.

      MfG ChrisB

      --
      Light travels faster than sound - that's why most people appear bright until you hear them speak.