2011-03-03 7 views
6

मान लें कि मेरे पास somefile.php?sort=id&way=desc जैसे URL हैं।हाइपरलिंक बनाने के लिए GET चरों को प्राप्त करने और संपादित करने का तरीका

मैं एक फ़ंक्शन लिखना चाहता हूं (या पहले से ही बनाया गया उपयोग) जो मुझे यूआरएल में अगले चर जोड़ देगा और सेट करेगा जिसे मैं हटाना चाहता हूं।

मैं function editGetVar("$add","$leave") की तरह कुछ के बारे में सोचा है, जहां $add URL जोड़ना और $leave चर जो URL में रहना चाहिए के साथ सरणी होगा नया चर के साथ सरणी होगा।

उदाहरण:

somefile.php?sort=id&way=desc&buyer=retailer 

और मैं "खरीदार" हटा सकते हैं और "कार्रवाई" जोड़ना चाहते हैं, तो a href इस प्रकार दिखाई देगा:

<a href="somefile.php?sort=id&way=desc&action=edit"> 

मैं आप से किसी भी विचार की सराहना करेंगे।

उत्तर

10

उपयोग http_build_query:

<?php 
unset($_GET['buyer']); 
$_GET['action'] = 'edit'; 

print '<a href="somefile.php?' . http_build_query($_GET) . '">!!</a>'; 
?> 
+0

टाइप करने के लिए निर्दयी होगा जो मैं खोज रहा था। धन्यवाद। – jwitos

+0

@jwitos: कोई समस्या नहीं। –

+0

हालांकि $ _GET चर को संशोधित करना बुद्धिमान होगा, पहले एक प्रति बनाएं – relipse

0

उदाहरण:

$_GET[ 'sort' ] = 'asc'; 

आप के रूप में नष्ट कर सकते हैं:

$url = '?'; 
foreach($_POST as $key => $value) 
{ 
    $url .= $key . '=' . $value . '&'; 
} 

आप जोड़ सकते हैं/एक चर के रूप में संपादित

unlink($_GET[ 'sort' ]); 

आप एक समारोह अपने आप में लपेट कर सकते हैं;)

+2

आप ew-दूरी की है। –

+0

हाँ, – lol

4

मेरा मानना ​​है कि आप कर सकते हैं $parts = parse_url($my_rui) के साथ यूआरआई को विभाजित करें, परिणामी सरणी में हेरफेर करें और इसे http_build_query के साथ एक साथ चिपकाएं।

संबंधित मुद्दे

 संबंधित मुद्दे