Как я выхожу из Сценария PHP внешнему редактору и возврату впоследствии?

Я думаю, что самый простой способ сопоставления символов, таких как

\^$.?*|+()[

, использует классы символов изнутри R. Рассмотрим, как очистить заголовки столбцов от файла данных, которые могут содержать пробелы и пунктуацию characters:

> library(stringr)
> colnames(order_table) <- str_replace_all(colnames(order_table),"[:punct:]|[:space:]","")

Этот подход позволяет нам вводить классы символов в соответствие с символами пунктуации, в дополнение к символам пробелов, что вам обычно нужно было бы избежать с помощью \\ для обнаружения. Вы можете узнать больше о классах символов в этой таблице ниже, и вы также можете ввести ?regexp, чтобы узнать больше об этом.

https://www.rstudio.com/wp -поперечник / добавления / 2016/09 / RegExCheatsheet.pdf

6
задан Ates Goral 14 January 2009 в 16:18
поделиться

5 ответов

Можно перенаправить вывод редактора к терминалу:

system("vim > `tty`");
9
ответ дан 9 December 2019 в 22:42
поделиться

Я просто попробовал это, и это хорошо работает в окнах, таким образом, можно, вероятно, копировать с vi или безотносительно приложения, Вы хотите на Linux.

Ключ - это exec() подвешивает процесс php, в то время как блокнот (в этом случае) работает.

<?php

exec('notepad c:\test'); 
echo file_get_contents('c:\test');

?>

$ php -r test.php

Править: Как Ваши шоу попытки и bstark, на который указывают, мой тест блокнота разжигает новое окно, таким образом, все в порядке, но любой редактор, который работает в сбоях консольного режима, потому что это не имеет никакого терминала для присоединения к.

Однако я примерил поле Linux с exec('nano test'); echo file_get_contents('test'); и это не перестало работать так же плохо как vi, это просто работает, ничего не отображая. Я мог ввести некоторый материал, нажать "ctrl-X, y", чтобы закрыть и сохранить файл и затем сценарий PHP, продолженный и отображенный, что я записал. Так или иначе.. Я нашел надлежащее решение, так новый ответ входящий.

2
ответ дан 9 December 2019 в 22:42
поделиться

Я не знаю, возможно ли вообще соединиться, vi к терминалу php работает, но быстрое и легкое решение не состоит в том, чтобы использовать экранного редактора на том же терминале.

Можно или использовать строчный редактор, такой как редактор (Вы, вероятно, не хотите это), или откройте новое окно, как система ("xterm-e vi") (замените xterm названием Вашего терминального приложения).

Отредактированный для добавления: В жемчуге просто работает система ("vi"), потому что жемчуг не делает, вид воображения, конвейерно обрабатывающего/буферизующего php, делает.

0
ответ дан 9 December 2019 в 22:42
поделиться
0
ответ дан 9 December 2019 в 22:42
поделиться

Таким образом, это кажется Вашей идеей записать, что файл приводит нас пробовать сумасшедшие вещи, в то время как существует легкое решение :)

<?php

$out = fopen('php://stdout', 'w+');
$in = fopen('php://stdin', 'r+');

fwrite($out, "foo?\n");
$var = fread($in, 1024);
echo strtoupper($var);

Освобожденный () вызов подвесит процесс php, пока он не получит что-то (1 024 байта или конец строки, я думаю), производя это:

$ php test.php
foo?
bar <= my input
BAR
0
ответ дан 9 December 2019 в 22:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: