Как удалить некоторые буквы в моем текстовом выводе?

Я хочу удалить некоторые символы или текст на моем выходе. Как я могу это сделать? У меня есть это значение:

<?php 
  if (isset($_POST['btnSubcode'])) 
  {
    $lblCode = isset($_POST['lblQrTxt']) ? $_POST['lblQrTxt'] : '';
  }
?>

<input type = "text" id = "card-code" value='<?php echo $lblCode ?>' class = "form-control">

Его значение:

QR Code: 444444444|123

Я хочу удалить QR Code: и | 123. Есть ли какое-нибудь решение для этого?

Вероятно, используется preg_match()php.net/manual/fr/function.preg-match.php

executable 22.01.2019 09:09

Вы можете использовать регулярное выражение. Синтаксис сильно различается в зависимости от того, хотите ли вы сделать это в PHP или JS. Я бы предложил PHP.

Rory McCrossan 22.01.2019 09:10

@RoryMcCrossan, привет, сэр, не могли бы вы помочь мне с этим? я не знаком с regex, мне тяжело с ним, спасибо

user10701881 22.01.2019 09:10

См. этот вопрос. Вы также можете потенциально использовать substr(), если требуемые индексы строки постоянны.

Rory McCrossan 22.01.2019 09:11

@executable привет, я думаю, что это не сработает, потому что я думаю, что preg_match() работает только для СТАТИЧЕСКИХ или ФИКСИРОВАННЫХ писем

user10701881 22.01.2019 09:12

Что вы подразумеваете под фиксированный или статический?

executable 22.01.2019 09:13
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
6
64
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

Взорвите строку дважды: один раз, чтобы избавиться от текста QR-кода, и один раз, чтобы получить фактический код, т. е.: перед каналом (|)

<?php 
  if (isset($_POST['btnSubcode'])) 
  {
    $lblCodeTotal = isset($_POST['lblQrTxt']) ? $_POST['lblQrTxt'] : '';

    $lblCodePortions1 = explode("QR Code: ", $lblCodeTotal); // gives 444444444|123
    $lblCodePortions2 = explode("|", $lblCodePortions1[1]); // gives 444444444

    $lblCode = $lblCodePortions2[0];
  }
?>

Это только потому, что это фрагмент JS, пытающийся запустить код PHP.

Rory McCrossan 22.01.2019 09:14
Ответ принят как подходящий

предполагая, что вход всегда имеет одну и ту же структуру, QR Code: value|value, вы можете использовать функцию explodeссылка на сайт

  $code = "QR Code: 444444444|123";
  $code = explode(":",$code); // code = array("QR Code","444444444|123")
  $code = explode("|",$code[1]); // code[1] = "444444444|123"
  $code1 = trim($code[0]) // 444444444
  $code2 = trim($code[1]) // 123

эй, это может быть ответом, но что, если я хочу, чтобы показывался только 123 ??

user10701881 22.01.2019 09:25

iv'e отредактируйте мой ответ для вашего комментария, взорвите, верните массив в первом элементе, который будет левой стороной, а во втором элементе будет правой стороной строки вокруг разделителя взрыва (см. документы php.net/manual/en/function.explode.php)

ron 22.01.2019 09:39

Вы можете попробовать это

   $ourput = rtrim(ltrim($lblCode, 'QR Code:'), '|123') ;

отлично работает!! но номер 123 все еще там

user10701881 22.01.2019 09:15

как мы можем удалить 123, сэр?

user10701881 22.01.2019 09:15

попробуй сейчас пожалуйста, я забыл про 123

Drop Shadow 22.01.2019 09:17

у меня есть еще одна проблема, сэр, что, если вывод изменится на 12343594 :( есть ли какое-нибудь решение?

user10701881 22.01.2019 09:22

Нет проблем, ваш вывод будет работать нормально, если следующая строка не изменит 'QR Code:' и '|123'

Drop Shadow 22.01.2019 09:24

Вы можете добавить этот JavaScript после кода PHP:

document.getElementById("card-code").value = document.getElementById("card-code").value.split("QR Code: ")[0].split("|123")[0];

Эй приятель !! пожалуйста, помогите мне, как я могу поместить это в свой тип ввода = текст, пожалуйста, это ответ, который мне нужен

user10701881 22.01.2019 09:17

Вы можете использовать функцию «substr(string,start,length)», чтобы найти начальную и конечную точки для самой строки.

<?php
    $mystring = "QR Code: 444444444|123";
    $mystring = substr($mystring, strpos($mystring, ':') +1);
    $mystring = substr($mystring, 0, strpos($mystring, '|'));
    echo $mystring;
?>

Попробуйте это, он сначала удаляет QR-код, а затем разделяет их с помощью «взорвать» с помощью | как разделитель

 $output = explode(ltrim($lblCode, 'QR Code:'), '|')[0] ;

Другие вопросы по теме