我通过regexp输入替换某些特定字符。
Div看起来像这样: 1)<div>text Text <input> text <input> text text Text</div>
2)var body = data.body.replace(/\.\.\./g, "<input class='bodyy' type='text' size='2' />");
$("#body").html(body);
是否可以获取整个文本,包括来自div的输入值(在我的情况下为id&#39; body&#39;)
jQuery代码:
while ($row = mysql_fetch_array($result1)) //fetch datafrom loop
{
$dev = $row["device_token"]; // your devide token
if( strlen ( $dev ) > 65 ) { // for android
$regis[] = $row['device_token'];
}
else
{
$ios[] = $row['device_token']; // for ios
}
}
foreach($regis as $dev1) {
$id=$dev1;
$url = 'https://fcm.googleapis.com/fcm/send';
$fields = array (
'to' => $id,
'notification' => array (
"body" => $mess,
"icon" =>"icon",
"sound"=> ""
)
);
$fields = json_encode ( $fields );
$headers = array (
'Authorization: key=' . "---your key---",
'Content-Type: application/json'
);
$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_POST, true );
curl_setopt ( $ch, CURLOPT_HTTPHEADER, $headers );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $fields );
$result = curl_exec ( $ch );
}
foreach($ios as $dev) {
if($dev!='')
{
$deviceToken=$dev;
$passphrase = '';
// Put your alert message here:
$message = $mess;
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'ck.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', $passphrase);
// Open a connection to the APNS server
$fp = stream_socket_client('ssl://gateway.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, $ctx);
// Create the payload body
$body['aps'] = array(
'alert' => array(
'body' => $message,
),
'badge' => +1,
'sound' => 'default',
'content-available' => '1',
);
$payload = json_encode($body);
$msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;
$result = fwrite($fp, $msg, strlen($msg));
}
}
if (!$result)
{
?>
<script>
alert("Push notification is successfully sent");
</script>
<?php
}
else
{
?>
<script>
alert("Mesaage is successfully sent");
</script>
<?php
}
curl_close ( $ch );
fclose($fp);
}
答案 0 :(得分:1)
您可以使用函数自行解析,这是一个例子:
function getTextWithInputValues(id) {
var element = document.getElementById(id);
if (!element) {
return null;
}
var elementText = element.innerHTML; // Get the entire text from your element
var elementInputs = element.getElementsByTagName('input'); // fetch all inputs from your element
// replace all input fields with their respective values
Object.getOwnPropertyNames(elementInputs).forEach(
(input) => {
var inputText = elementInputs[input].outerHTML;
if (elementText.search(inputText) > 0) {
elementText = elementText.replace(inputText, elementInputs[input].value);
}
}
);
return elementText;
}
您可以在此处通过打开控制台进行测试,粘贴此代码,然后在页面顶部的搜索框中输入内容(不要点击搜索,只需键入内容),然后你在控制台中调用函数,如getTextWithInputValues('search')
,它将输出类似
<svg ......</svg>
your-text-here
<button .....</button>
希望这有帮助。
答案 1 :(得分:-1)
即使您要求REGEX
,我也不相信这是必要的。
这将返回数组中的数据。第一个索引是正文文本,然后是每个输入字段值。
var values = [];
values.push($('#body').text());
var inputs = $('#body input');
for(var i = 0; i < $(inputs).length; i++)
{
var currentElement = $(inputs)[i];
values.push($(currentElement).val());
}
console.log(values);