2013-12-16 8 views
15

के अंदर परिवर्तनीय के साथ डबल कोट्स से बचें HTML में एक गूंज के अंदर एक चर के लिए, मैं डबल कोट्स से बचने के लिए स्लेश कहां जोड़ूं?एचटीएमएल इको

उदाहरण:

echo "<input type=\"hidden\" name=\"id\" value=".$row['id']." />"; 

इस भाग:

value=".$row['id']." 
+1

'htmlspecialchars' – mario

उत्तर

29

पीएचपी के साथ HTML outputting कुछ युक्तियां: ताकि आप दोहरे उद्धरण चिह्नों से बचने के लिए की जरूरत नहीं है

  1. उपयोग एकल उद्धरण (जब गूंज का प्रयोग करके),
  2. उपयोग htmlspecialchars() आपके पास होने वाले किसी भी "नकली" मानों से ठीक से बचने के लिए।

उदाहरण echo का उपयोग कर:

echo '<input type="hidden" name="id" value="', htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'), '" />'; 

या printf():

printf('<input type="hidden" name="id" value="%s" />', 
    htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8') 
); 

या, HTML मोड में:

?> 
<input type="hidden" name="id" value="<?php echo htmlspecialchars($row['id'], ENT_QUOTES, 'UTF-8'); " /> 
<?php 
+1

एफवाईआई, 'htmlspecialchars' के लिए डिफ़ॉल्ट को डबल-उद्धृत' मान' विशेषता के लिए पर्याप्त होना चाहिए ताकि आप सुरक्षित रूप से दूसरे और तीसरे तर्कों को छोड़ सकें। – Phil

+1

@ फिल 7 डिफ़ॉल्ट * पर्याप्त * होना चाहिए, लेकिन वे ऐतिहासिक रूप से नहीं थे :) –

+0

PHP के साथ सबसे बड़ी समस्या इसका * इतिहास * है :) – Phil

1

उपयोग htmlentities:

echo "<input type=\"hidden\" name=\"id\" value=\"".htmlentities($row['id'])."\" />"; 
+0

के साथ इस प्रतीत नहीं होता है ओपी का जवाब (जहां प्रश्न एचटीएमएल विशेषता मान से बचने के लिए प्रतीत होता है) –

+0

उचित बिंदु - मैंने मूल रूप से प्रश्न को गलत तरीके से पढ़ा। संपादित। –

-1

के बारे में उपयोग एकल उद्धरण आप किसी भी उद्धरण से बचने के लिए की जरूरत नहीं है तो कैसे। तो जैसा:

echo '<input type="hidden" name="id" value="'.$row['id'].'" />'; 
संबंधित मुद्दे