php - PHP Online
Form of PHP Sandbox
Enter Your PHP code here for testing/debugging in the Online PHP Sandbox. As in the usual PHP files, you can also add HTML, but do not forget to add the tag <?php
in the places where the PHP script should be executed.
Result of php executing
Full code of php.php
- <?php
- $message = $data['message'];
- $text = $message['text'];
- if (isset($message['entities'])) {
- $offset = 0;
- foreach ($message['entities'] as $entity) {
- $type = $entity['type'];
- $length = $entity['length'];
- $start = $entity['offset'];
- // Извлекаем текст, соответствующий entity
- $entity_text = substr($text, $start + $offset, $length);
- // Заменяем entity на HTML-разметку в зависимости от типа
- switch ($type) {
- case 'text_link':
- $url = $entity['url'];
- // Заменяем ссылку на HTML-разметку с текстом анкора
- $link = "<a href='$url'>$entity_text</a>";
- $text = substr_replace($text, $link, $start + $offset, $length);
- // Учитываем смещение после замены
- $offset += strlen($link) - $length;
- break;
- case 'bold':
- // Заменяем жирный текст на HTML-разметку
- $bold_text = "<b>$entity_text</b>";
- $text = substr_replace($text, $bold_text, $start + $offset, $length);
- // Учитываем смещение после замены
- $offset += strlen($bold_text) - $length;
- break;
- case 'italic':
- // Заменяем курсивный текст на HTML-разметку
- $italic_text = "<i>$entity_text</i>";
- $text = substr_replace($text, $italic_text, $start + $offset, $length);
- // Учитываем смещение после замены
- $offset += strlen($italic_text) - $length;
- break;
- case 'strikethrough':
- // Заменяем текст с зачеркиванием на HTML-разметку
- $strikethrough_text = "<s>$entity_text</s>";
- $text = substr_replace($text, $strikethrough_text, $start + $offset, $length);
- // Учитываем смещение после замены
- $offset += strlen($strikethrough_text) - $length;
- break;
- case 'code':
- // Заменяем код на HTML-разметку
- $code_text = "<code>$entity_text</code>";
- $text = substr_replace($text, $code_text, $start + $offset, $length);
- // Учитываем смещение после замены
- $offset += strlen($code_text) - $length;
- break;
- case 'underline':
- // Заменяем подчеркнутый текст на HTML-разметку
- $underline_text = "<u>$entity_text</u>";
- $text = substr_replace($text, $underline_text, $start + $offset, $length);
- // Учитываем смещение после замены
- $offset += strlen($underline_text) - $length;
- break;
- case 'spoiler':
- // Заменяем спойлер на HTML-разметку
- $spoiler_text = "<spoiler>$entity_text</spoiler>";
- $text = substr_replace($text, $spoiler_text, $start + $offset, $length);
- // Учитываем смещение после замены
- $offset += strlen($spoiler_text) - $length;
- break;
- // Добавьте обработку других типов разметки по аналогии
- }
- }
- }