2017-09-10 19 views
0

ユーザーが入力したURLから二重スラッシュを削除する際に助けが必要です。これはWordPressのフロントエンド向けです。URLの最後からダブルスラッシュを削除する方法

私はユーザーに任意のリンクを入力するオプションがあります。値フィールドにリンクを入力/ペーストすると、そのリンクの最後にアフィリエイトコードを追加し、アフィリエイトIDとの最終出力(フルリンク)を表示する必要があります。

これは私が使用したコードです。

<form onsubmit="return false" oninput="txtfullurl.value = txturl.value +'/affiliateid'"> 
URL : <input type="text" name="txturl" /> <br><br> 
Full URL : <input type="text" name="txtfullurl" > <br><br> 
</form> 

問題は、ユーザーが入力したURLに最後に「/」(スラッシュ)が付いていないことがあります。

したがって、アフィリエイトIDの前にリンクに二重スラッシュがある場合は、そのリンクを削除する必要があります。

どうすればいいですか?

+0

これはコード < "txtfullurl.value = txturl.value + '/ affiliateid'" = "falseを返す" oninput =をonSubmit形成>です URL:の

全URL:の

+0

'$ USERINPUT = RTRIM($ USERINPUT、 "/");' USERINPUT 'からの最後のスラッシュを削除します' –

+0

@LasVegasCoder ...間違っています。最後のものだけでなく、すべてのスラッシュが削除されます... – patrick

答えて

1

サーバー上で任意の種類のサニタイズまたは検証を実行する必要があります。最も柔軟な解決策は、http_build_queryと一緒に使用されるwp_parse_url関数を使用することです。

$url = 'https://www.google.com//somethingelse'; 
$parsed_url = wp_parse_url($url); 
$query_string = http_build_query([ 
    'affiliate_id' => 'my_id', 
]); 
$affiliate_link = $parsed_url['scheme'] . '://' . $parsed_url['host'] . '/?' . $query_string; 
+0

親切な助けをありがとう。これをまだ試していない。私は一度試してみることを知らせます。下のように、私は "trailingslashit()"と言う答えを見ました。私もそれをやろうとします。 私は皆さんを更新します。 !!! :) –

0

あなたはこれを達成するためにtrailingslashit()機能を使用することができます。

WordPressのコーデックスから、この機能

は、末尾にスラッシュを追加します。 末尾にスラッシュがある場合は、後にスラッシュを追加する前に削除します。これにより、文字列またはパスの二重スラッシュが防止されます。

+0

こんにちはハレシ、あなたの返事をありがとう。 正直、私はコーディングに賛成ではありません。 リトルテルをもっと親切に案内してください。 私のページに上記のオプションを使用する必要があるとします。 私はコードをperticularページに配置した後、このtrailingslashit()関数をどこで使うべきですか? jsfiddleで私に例を挙げてください。 –

関連する問題