![](/img/trans.png)
[英]How to get the value of a particular input field using id in the html templates
[英]How to get a particular value from input field
我的用戶可以從reverbnation.com添加他的任何音頻。 因此,用戶可以復制其嵌入代碼並將其粘貼到我的表單輸入中。 我希望我的表單從輸入文本中僅得到兩個單詞。
例如:-混響嵌入代碼如下:
<iframe class="widget_iframe" src="https://www.reverbnation.com/widget_code/html_widget/artist_4859830?widget_id=50&posted_by=label_265034&pwc[design]=customized&pwc[background_color]=%23d4c79f&pwc[included_songs]=0&pwc[song_ids]=23591473&pwc[photo]=0%2C1&pwc[size]=undefined" width="100%" height="100%" frameborder="0" scrolling="no"></iframe>
因此,如果我的用戶將上面的嵌入代碼粘貼到表單輸入字段中,那么我想從上面的文本中收集兩個單詞以將其保存在我的sql數據庫中。
4859830
(... artist_4859830?...) 23591473
(...&pwc [song_ids] = 23591473 ...) 請給我一個指導; 如何從輸入字段中收集2個以上ID。
我的sql數據庫:id | 用戶名| 藝術家| 歌曲
我的表單頁面:
if(isset($_POST['submit'])){
$code = mysqli_real_escape_string($dbh, $_POST['code']);
$userid = mysqli_real_escape_string($dbh, $_POST['userid']);
$artist = How to get artist id (4859830) from $code
$song = How to get song id (23591473) from $code
$result = mysqli_query($dbh,"INSERT INTO user_aideo (id, userid, artist, song) values('', '$userid', '$artist', '$song')");
}
<form id="form" method="post" action="">
<input type="text" class="form-control" name="code"/>
<input type="hidden" name="userid" value="<? echo $session->userid; ?>"/>
<input type="submit" name="submit" id="submit" value=" Submit "/>
</form>
我認為這對於正則表達式將是一個很好的用例。
對於您的特定方案,您可以一次執行捕獲兩個數字。 您只需要使用preg_match
函數。
if (preg_match("/(?:.*)artist_([0-9]*)\?(?:.*)song_ids]=([0-9]*)/i", $code, $matches)) {
print 'artist: ' . $matches[1] . '<br />';
print 'song: ' . $matches[2];
}
這適用於您給定的代碼示例。 它將歌手編號放在$matches[1]
,而歌曲編號放在$matches[2]
。
我很樂意直接在if語句中引用它們,因為正則表達式具有兩個捕獲組,因此如果preg_match
返回true
,則在$matches
數組中將始終有3個索引。 如果在if語句之外直接調用preg_match
,則需要遍歷$matches
數組,以避免未定義的索引錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.